Part Number Hot Search : 
LM06L IW3625 LM317LM CY7C109 A78L05 DS5000 54241003 2SK1516
Product Description
Full Text Search
 

To Download MC68HC805P18 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
 Freescale Semiconductor, Inc.
Order this document by MC68HC805P18/D Rev. 2.0
Freescale Semiconductor, Inc...
MC68HC05P18 MC68HC805P18
Advance Information
This document contains information on a new product. Specifications and information herein are subject to change without notice.
For More Information On This Product, Go to: www.freescale.com
NON-DISCLOSURE
AGREEMENT
HC05
REQUIRED
Freescale Semiconductor, Inc. Advance Information REQUIRED
Freescale Semiconductor, Inc...
AGREEMENT
NON-DISCLOSURE
Motorola reserves the right to make changes without further notice to any products herein to improve reliability, function or design. Motorola does not assume any liability arising out of the application or use of any product or circuit described herein; neither does it convey any license under its patent rights nor the rights of others. Motorola products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the Motorola product could create a situation where personal injury or death may occur. Should Buyer purchase or use Motorola products for any such unintended or unauthorized application, Buyer shall indemnify and hold Motorola and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that Motorola was negligent regarding the design or manufacture of the part.
(c) Motorola, Inc., 1999 Advance Information 2 For More Information On This Product, Go to: www.freescale.com MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Advance Information -- MC68HC05P18/MC68HC805P18
List of Sections
Section 1. General Description . . . . . . . . . . . . . . . . . . . . 17 Section 2. Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Freescale Semiconductor, Inc...
Section 3. Central Processing Unit (CPU) . . . . . . . . . . . 35 Section 4. Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Section 5. Resets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Section 6. Operating Modes . . . . . . . . . . . . . . . . . . . . . . . 53 Section 7. Input/Output (I/O) Ports . . . . . . . . . . . . . . . . . 63 Section 8. EEPROM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Section 9. Analog-to-Digital (A/D) Converter . . . . . . . . . 79 Section 10. 16-Bit Timer . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Section 11. Serial Input/Output Port (SIOP) . . . . . . . . . . 99 Section 12. Instruction Set . . . . . . . . . . . . . . . . . . . . . . . 107 Section 13. Electrical Specifications . . . . . . . . . . . . . . . 123 Section 14. Mechanical Specifications . . . . . . . . . . . . . 133 Section 15. Ordering Information . . . . . . . . . . . . . . . . . 135 Appendix A. Emulation . . . . . . . . . . . . . . . . . . . . . . . . . . 137
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA List of Sections For More Information On This Product, Go to: www.freescale.com
Advance Information 3
Freescale Semiconductor, Inc. List of Sections
Freescale Semiconductor, Inc...
Advance Information 4 List of Sections For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Advance Information -- MC68HC05P18/MC68HC805P18
Table of Contents
Section 1. General Description
1.1 Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 Mask Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
Freescale Semiconductor, Inc...
1.2 1.3 1.4
1.5 Functional Pin Description . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 1.5.1 VDD and VSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 1.5.2 OSC1 and OSC2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 1.5.3 Crystal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22 1.5.3.1 Ceramic Resonator . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22 1.5.3.2 External Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22 1.5.4 Reset (RESET). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 1.5.5 Port A (PA0-PA7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 1.5.6 Port B (PB5/SDO, PB6/SDI, and PB7/SCK) . . . . . . . . . . . .24 1.5.7 Port C (PC0-PC2, PC3/AD3, PC4/AD2, PC5/AD1, PC6/AD0, and PC7/VREFH) . . . . . . . . . . . . . . . . . . . . . . .24 1.5.8 Port D (PD5/CKOUT and PD7/TCAP) . . . . . . . . . . . . . . . . .24 1.5.9 TCMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25 1.5.10 Maskable Interrupt Request (IRQ) . . . . . . . . . . . . . . . . . . . .25
Section 2. Memory
2.1 2.2 2.3 2.4 2.5
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Table of Contents For More Information On This Product, Go to: www.freescale.com
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 Input/Output and Control Registers . . . . . . . . . . . . . . . . . . . . .27 RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 ROM (MC68HC05P18 Only) . . . . . . . . . . . . . . . . . . . . . . . . . .34
Advance Information 5
Freescale Semiconductor, Inc. Table of Contents
2.6 2.7 EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 User EEPROM (MC68HC805P18 Only). . . . . . . . . . . . . . . . . .34
Section 3. Central Processing Unit (CPU)
3.1 3.2 Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
Freescale Semiconductor, Inc...
3.3 CPU Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36 3.3.1 Accumulator (A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 3.3.2 Index Register (X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 3.3.3 Condition Code Register (CCR) . . . . . . . . . . . . . . . . . . . . . .37 3.3.3.1 Half Carry (H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 3.3.3.2 Interrupt (I) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 3.3.3.3 Negative (N) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 3.3.3.4 Zero (Z) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 3.3.3.5 Carry/Borrow (C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 3.3.4 Stack Pointer (SP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 3.3.5 Program Counter (PC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
Section 4. Interrupts
4.1 4.2 Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
4.3 Interrupt Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 4.3.1 Reset Interrupt Sequence . . . . . . . . . . . . . . . . . . . . . . . . . .43 4.3.2 Software Interrupt (SWI). . . . . . . . . . . . . . . . . . . . . . . . . . . .43 4.3.3 Hardware Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 4.3.3.1 External Interrupt (IRQ) . . . . . . . . . . . . . . . . . . . . . . . . . .45 4.3.3.2 Optional External Interrupts (PA0-PA7) . . . . . . . . . . . . .46 4.3.3.3 Input Capture Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . .47 4.3.3.4 Output Compare Interrupt . . . . . . . . . . . . . . . . . . . . . . . .47 4.3.3.5 Timer Overflow Interrupt . . . . . . . . . . . . . . . . . . . . . . . . .47
Advance Information 6 Table of Contents For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Table of Contents
Section 5. Resets
5.1 5.2 5.3 Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49 External Reset (RESET). . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
Freescale Semiconductor, Inc...
5.4 Internal Resets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50 5.4.1 Power-On Reset (POR) . . . . . . . . . . . . . . . . . . . . . . . . . . . .50 5.4.2 Computer Operating Properly (COP) Reset . . . . . . . . . . . . .51 5.4.3 Low-Voltage Reset (LVR). . . . . . . . . . . . . . . . . . . . . . . . . . .51
Section 6. Operating Modes
6.1 6.2 Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
6.3 User Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54 6.3.1 User Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54 6.3.2 Bootloader Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55 6.3.2.1 Bulk Erase/Blank Verify . . . . . . . . . . . . . . . . . . . . . . . . . .55 6.3.2.2 Bulk Erase/Program Verify. . . . . . . . . . . . . . . . . . . . . . . .57 6.4 Low-Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57
6.5 STOP Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59 6.5.1 Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59 6.5.2 Halt Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60 6.5.3 WAIT Instruction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60 6.6 COP Watchdog Timer Considerations . . . . . . . . . . . . . . . . . . .61
Section 7. Input/Output (I/O) Ports
7.1 7.2 7.3 7.4 7.5 Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63 Port A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64 Port B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65 Port C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Table of Contents For More Information On This Product, Go to: www.freescale.com
Advance Information 7
Freescale Semiconductor, Inc. Table of Contents
7.6 7.7 Port D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67 I/O Port Programming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68
Section 8. EEPROM
8.1 8.2 8.3 Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71 EEPROM Programming Register . . . . . . . . . . . . . . . . . . . . . . .72 Programming/Erasing Procedures . . . . . . . . . . . . . . . . . . . . . .74 Mask Option Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75
Freescale Semiconductor, Inc...
8.4 8.5
Section 9. Analog-to-Digital (A/D) Converter
9.1 9.2 Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
9.3 Analog Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80 9.3.1 Ratiometric Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . .80 9.3.2 VREFH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80 9.3.3 Accuracy and Precision . . . . . . . . . . . . . . . . . . . . . . . . . . . .80 9.3.4 Conversion Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80 9.4 Digital Section. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81 9.4.1 Conversion Times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81 9.4.2 Internal versus External Oscillator . . . . . . . . . . . . . . . . . . . .81 9.4.3 Multi-Channel Operation . . . . . . . . . . . . . . . . . . . . . . . . . . .82 9.5 9.6 9.7 9.8 A/D Status and Control Register. . . . . . . . . . . . . . . . . . . . . . . .82 A/D Conversion Data Register . . . . . . . . . . . . . . . . . . . . . . . . .84 A/D Subsystem During Wait/Halt Modes . . . . . . . . . . . . . . . . .84 A/D Subsystem Operation During Stop Mode . . . . . . . . . . . . .84
Advance Information 8 Table of Contents For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Table of Contents
Section 10. 16-Bit Timer
10.1 10.2 10.3 10.4 10.5 Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85 Timer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87 Output Compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90 Input Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92 Timer Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94 Timer Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95 Timer Operation During Wait and Halt Modes . . . . . . . . . . . . .97 Timer Operation During Stop Mode . . . . . . . . . . . . . . . . . . . . .97
Freescale Semiconductor, Inc...
10.6 10.7 10.8 10.9
Section 11. Serial Input/Output Port (SIOP)
11.1 11.2 Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99
11.3 SIOP Signal Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100 11.3.1 Serial Clock (SCK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100 11.3.2 Serial Data Input (SDI) . . . . . . . . . . . . . . . . . . . . . . . . . . . .101 11.3.3 Serial Data Output (SDO). . . . . . . . . . . . . . . . . . . . . . . . . .102 11.4 SIOP Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102 11.4.1 SIOP Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . .102 11.4.2 SIOP Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104 11.4.3 SIOP Data Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105
Section 12. Instruction Set
12.1 12.2 Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107
12.3 Addressing Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108 12.3.1 Inherent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108 12.3.2 Immediate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108 12.3.3 Direct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Table of Contents For More Information On This Product, Go to: www.freescale.com Advance Information 9
Freescale Semiconductor, Inc. Table of Contents
12.3.4 12.3.5 12.3.6 12.3.7 12.3.8 Extended . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 Indexed, No Offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 Indexed, 8-Bit Offset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 Indexed, 16-Bit Offset. . . . . . . . . . . . . . . . . . . . . . . . . . . . .110 Relative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110
Freescale Semiconductor, Inc...
12.4 Instruction Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111 12.4.1 Register/Memory Instructions. . . . . . . . . . . . . . . . . . . . . . .111 12.4.2 Read-Modify-Write Instructions . . . . . . . . . . . . . . . . . . . . .112 12.4.3 Jump/Branch Instructions. . . . . . . . . . . . . . . . . . . . . . . . . .112 12.4.4 Bit Manipulation Instructions . . . . . . . . . . . . . . . . . . . . . . .114 12.4.5 Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114 12.5 12.6 Instruction Set Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . .115 Opcode Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121
Section 13. Electrical Specifications
13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123 Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124 Operating Temperature Range. . . . . . . . . . . . . . . . . . . . . . . .124 Thermal Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . .125 Power Considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .125 DC Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . .126 Active Reset Characteristics. . . . . . . . . . . . . . . . . . . . . . . . . .127 A/D Converter Characteristics . . . . . . . . . . . . . . . . . . . . . . . .127
13.10 SIOP Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128 13.11 PD5 Clock Out Timing (PD5 CLKOUT Option Enabled) . . . .129 13.12 Control Timing (MC68HC805P18 and Low-Speed MC68HC05P18) . . . . . . . . . . . . . . . . . . .130 13.13 Control Timing (High-Speed MC68HC05P18 Only) . . . . . . . .130
Advance Information 10 Table of Contents For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Table of Contents
Section 14. Mechanical Specifications
14.1 14.2 14.3 14.4 Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133 28-Pin Dual In-Line Package (Case #710) . . . . . . . . . . . . . . .134 28-Pin Small Outline Package (Case #751F) . . . . . . . . . . . . .134
Section 15. Ordering Information
Freescale Semiconductor, Inc...
15.1 15.2 15.3
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135 MC Order Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135
Appendix A. Emulation
A.1 A.2 A.3 A.4 Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137 Functional Differences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137 Mask Option Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Table of Contents For More Information On This Product, Go to: www.freescale.com
Advance Information 11
Freescale Semiconductor, Inc. Table of Contents
Freescale Semiconductor, Inc...
Advance Information 12 Table of Contents For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Advance Information -- MC68HC05P18/MC68HC805P18
List of Figures
Figure 1-1 1-2 1-3 2-1 2-2 2-3 2-4 3-1 3-2 4-1 4-2 5-1 5-2
Title
Page
Freescale Semiconductor, Inc...
MC68HC05P18/MC68HC805P18 Block Diagram . . . . . . . . . .19 User Mode Pinout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 Oscillator Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 MC68HC05P18 User Mode Memory Map . . . . . . . . . . . . . . . .28 MC68HC805P18 User Mode Memory Map . . . . . . . . . . . . . . .29 I/O and Control Registers Memory Map . . . . . . . . . . . . . . . . . .30 I/O and Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36 Stacking Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36 Interrupt Processing Flowchart . . . . . . . . . . . . . . . . . . . . . . . . .44 IRQ Function Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . .45 Reset Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50 Unimplemented Vector and COP Watchdog Timer Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51 Bootloader Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56 STOP/WAIT Flowcharts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58 Port A I/O Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64 Port B I/O Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65 Port C I/O Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66 Port D I/O Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67 EEPROM Programming Register (EEPROG) . . . . . . . . . . . . .72 Mask Option Register 1 (MOR1) . . . . . . . . . . . . . . . . . . . . . . .75
6-1 6-2 7-1 7-2 7-3 7-4 8-1 8-2
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA List of Figures For More Information On This Product, Go to: www.freescale.com
Advance Information 13
Freescale Semiconductor, Inc. List of Figures
Figure 8-3 9-1 9-2 10-1 10-2 10-3 10-4 10-5 10-6 10-7 10-8 10-9 10-10 10-11 11-1 11-2 11-3 11-4 11-5 Title Page
Mask Option Register 2 (MOR2) . . . . . . . . . . . . . . . . . . . . . . .75 A/D Status and Control Register (ADSC) . . . . . . . . . . . . . . . . .82 A/D Conversion Data Register (ADC). . . . . . . . . . . . . . . . . . . .84 16-Bit Timer Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . .86 Timer Registers (TMRH/TMRL) . . . . . . . . . . . . . . . . . . . . . . . .88 Alternate Counter Registers (ACRH/ACRL) . . . . . . . . . . . . . . .88 State Timing Diagram for Timer Overflow . . . . . . . . . . . . . . . .89 State Timing Diagram for Timer Reset . . . . . . . . . . . . . . . . . . .90 Output Compare Registers (OCRH/OCRL) . . . . . . . . . . . . . . .90 Output Compare Software Initialization Example . . . . . . . . . . .92 Input Compare Registers (ICRH/ICRL) . . . . . . . . . . . . . . . . . .93 State Timing Diagram for Input Capture . . . . . . . . . . . . . . . . . .94 Timer Control Register (TCR). . . . . . . . . . . . . . . . . . . . . . . . . .94 Timer Status Register (TSR) . . . . . . . . . . . . . . . . . . . . . . . . . .96 SIOP Block Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100 SIOP Timing Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101 SIOP Control Register (SCR) . . . . . . . . . . . . . . . . . . . . . . . . .102 SIOP Status Register (SSR). . . . . . . . . . . . . . . . . . . . . . . . . .104 SIOP Data Register (SSR) . . . . . . . . . . . . . . . . . . . . . . . . . . .105
Freescale Semiconductor, Inc...
13-1 SIOP Timing Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128 13-2 PD5 Clock Out Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129 13-3 Power-On Reset and External Reset Timing Diagram . . . . . .131 A-1 A-2 A-3 A-4 A-5 MC68HC705P3 Mask Option Register . . . . . . . . . . . . . . . . . .141 MC68HC705P6 Mask Option Register . . . . . . . . . . . . . . . . . .141 MC68HC705P9 Mask Option Register . . . . . . . . . . . . . . . . . .141 MC68HC805P8 Mask Option Register 1 . . . . . . . . . . . . . . . .142 MC68HC805P8 Mask Option Register 2 . . . . . . . . . . . . . . . .142
Advance Information 14 List of Figures For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Advance Information -- MC68HC05P18/MC68HC805P18
List of Tables
Table 4-1
Title
Page
Vector Addresses for Interrupts and Reset. . . . . . . . . . . . . . . .42 Operating Mode Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . .54 Bootloader Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55 COP Watchdog Timer Recommendations . . . . . . . . . . . . . . . .61 Port A I/O Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68 Port B I/O Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68 Port C I/O Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68 Port D I/O Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69 Erase Mode Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72 SIOP Clock Rate Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . .76 A/D Multiplexer Input Channel Assignments . . . . . . . . . . . . . .83 Register/Memory Instructions . . . . . . . . . . . . . . . . . . . . . . . . .111 Read-Modify-Write Instructions . . . . . . . . . . . . . . . . . . . . . . .112 Jump and Branch Instructions . . . . . . . . . . . . . . . . . . . . . . . .113 Bit Manipulation Instructions. . . . . . . . . . . . . . . . . . . . . . . . . .114 Control Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114 Instruction Set Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . .115 Opcode Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122
Freescale Semiconductor, Inc...
6-1 6-2 6-3 7-1 7-2 7-3 7-4 8-1 8-2 9-1 12-1 12-2 12-3 12-4 12-5 12-6 12-7
15-1 MC Order Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135 A-1 A-2 A-3 A-4 Elements of Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .138 Memory Breakdown by Types . . . . . . . . . . . . . . . . . . . . . . . .139 P-Series Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140 Mask Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA List of Tables For More Information On This Product, Go to: www.freescale.com
Advance Information 15
Freescale Semiconductor, Inc. List of Tables
Freescale Semiconductor, Inc...
Advance Information 16 List of Tables For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Advance Information -- MC68HC05P18/MC68HC805P18
Section 1. General Description
1.1 Contents
1.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 Mask Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
Freescale Semiconductor, Inc...
1.3 1.4
1.5 Functional Pin Description . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 1.5.1 VDD and VSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 1.5.2 OSC1 and OSC2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 1.5.3 Crystal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22 1.5.4 Reset (RESET). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 1.5.5 Port A (PA0-PA7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 1.5.6 Port B (PB5/SDO, PB6/SDI, and PB7/SCK) . . . . . . . . . . . .24 1.5.7 Port C (PC0-PC2, PC3/AD3, PC4/AD2, PC5/AD1, PC6/AD0, and PC7/VREFH) . . . . . . . . . . . . . .24 1.5.8 Port D (PD5/CKOUT and PD7/TCAP) . . . . . . . . . . . . . . . . .24 1.5.9 TCMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25 1.5.10 Maskable Interrupt Request (IRQ) . . . . . . . . . . . . . . . . . . . .25
1.2 Introduction
The Motorola MC68HC05P18 and MC68HC805P18 microcontrollers (MCU) are members of the M68HC05 Family with: * * * * * 4-channel, 8-bit analog-to-digital (A/D) converter 16-bit timer with output compare and input capture Serial input/output port (SIOP) Computer operating properly (COP) watchdog timer 21 input/output (I/O) pins (20 bidirectional, one input-only)
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA General Description For More Information On This Product, Go to: www.freescale.com
Advance Information 17
Freescale Semiconductor, Inc. General Description 1.3 Features
Features include: * * * * Low-cost M68HC05 core running at 2-MHz bus speed 28-pin dual in-line package (DIP) or small outline (SOIC) package 4-MHz on-chip crystal/ceramic resonator oscillator MC68HC05P18: - 8064 bytes of user read-only memory (ROM)
Freescale Semiconductor, Inc...
- 48 bytes of page zero ROM - 16 bytes of user vectors * MC68HC805P18: - 8064 bytes of user electrically erasable, programmable read-only memory (EEPROM) - 48 bytes of page zero EEPROM - 16 bytes of user vectors * * * * * * * * * 192 bytes of on-chip random-access memory (RAM) 128 bytes of EEPROM Low-voltage reset (LVR) 4-channel, 8-bit A/D converter SIOP serial communications port COP watchdog timer with active pulldown on RESET 16-bit timer with output compare and input capture 20 bidirectional I/O lines and one input-only line High current sink and source on two I/O pins (PC0 and PC1)
See Figure 1-1 for a functional block diagram.
Advance Information 18 General Description For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
General Description Features
COP
PH2
/2
OSC
OSC 1 OSC 2
CPU CONTROL RESET 68HC05 CPU IRQ
ALU
/4
16-BIT TIMER 1 INPUT CAPTURE 1 OUTPUT COMPARE PORT D LOGIC
PD7/TCAP TCMP PD5/CKOUT
ACCUMULATOR CPU REGISTERS DATA DIRECTION REGISTER INDEX REGISTER A/ D CONVERTER PC7/VREFH PC6/AD0 MUX PC5/AD1 PC4/AD2 PC3/AD3 PC2 PC1 PC0 SRAM -- 192 BYTES PA7 DATA DIRECTION REGISTER MC68HC05P18: USER ROM -- 8064 BYTES MC68HC805P18: USER EEPROM -- 8064 BYTES PA6 PA5 PORT A PA4 PA3 PA2 PA1 PA0 PB5/SDO PB6/SDI PB7/SCK PORT B AND SIOP REGISTERS AND LOGIC VDD VSS
Freescale Semiconductor, Inc...
0 0 0 0 0 0 0 0 1 1 STK PNTR PROGRAM COUNTER COND CODE REG 111H I NZC
EEPROM -- 128 BYTES
Figure 1-1. MC68HC05P18/MC68HC805P18 Block Diagram
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA General Description For More Information On This Product, Go to: www.freescale.com
PORT C
Advance Information 19
Freescale Semiconductor, Inc. General Description 1.4 Mask Options
There are eight mask options on the MC68HC05P18 that are EEPROM mask option register (MOR) selectable options for the MC68HC805P18. For additional information, refer to 8.5 Mask Option Registers. 1. IRQ is edge- and level-sensitive or edge-sensitive only. 2. SIOP most-significant bit (MSB) first or least-significant bit (LSB) first
Freescale Semiconductor, Inc...
3. SIOP clock rate set to oscillator divided by 2, 4, 8, or 16 4. COP watchdog timer enabled or disabled 5. STOP instruction enabled or converted to halt mode 6. Option to enable clock output pin to replace PD5 7. Option to individually enable pullups/interrupts on each of the eight port A pins 8. Low-voltage reset (LVR) enabled or disabled
NOTE:
A line over a signal name indicates an active low signal. For example, RESET is active high and RESET is active low. Any reference to voltage, current, or frequency specified in the following sections will refer to the nominal values. The exact values and their tolerance or limits are specified in Section 13. Electrical Specifications.
1.5 Functional Pin Description
The following subsections describe the functionality of each pin on the MC68HC05P18/MC68HC805P18 package. Pins connected to subsystems described in other sections provide a reference to the section instead of a detailed functional description. The pinout is shown in Figure 1-2.
Advance Information 20 General Description For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
General Description Functional Pin Description
RESET IRQ PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 SDO/PB5 SDI/PB6 SCK/PB7 VSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14
28 27 26 25 24 23 22 21 20 19 18 17 16 15
VDD OSC1 OSC2 PD7/TCAP TCMP PD5/CKOUT PC0 PC1 PC2 PC3/AD3 PC4/AD2 PC5/AD1 PC6/AD0 PC7/VREFH
Freescale Semiconductor, Inc...
Figure 1-2. User Mode Pinout
1.5.1 VDD and VSS Power is supplied to the MCU through VDD and VSS. VDD is connected to a regulated positive supply and VSS is connected to ground. Very fast signal transitions occur on the MCU pins. The short rise and fall times place very high short-duration current demands on the power supply. To prevent noise problems, take special care to provide good power supply bypassing at the MCU. Use bypass capacitors with good high-frequency characteristics and position them as close to the MCU as possible. Bypassing requirements vary, depending on how heavily the MCU pins are loaded.
1.5.2 OSC1 and OSC2 The OSC1 and OSC2 pins are the control connections for the on-chip oscillator. The OSC1 and OSC2 pins can accept: * * * A crystal as shown in Figure 1-3(a) A ceramic resonator as shown in Figure 1-3(a) An external clock signal as shown in Figure 1-3(b)
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA General Description For More Information On This Product, Go to: www.freescale.com
Advance Information 21
Freescale Semiconductor, Inc. General Description
The frequency, fOSC, of the oscillator or external clock source is divided by two to produce the internal PH2 bus clock operating frequency, fOP. The oscillator cannot be turned off by software if the stop-to-halt conversion is enabled via mask option for the MC68HC05P18 and mask option register 1 for the MC68HC805P18. Refer to 8.5 Mask Option Registers.
1.5.3 Crystal
Freescale Semiconductor, Inc...
The circuit in Figure 1-3(a) shows a typical oscillator circuit for an AT-cut, parallel resonant crystal. Follow the crystal manufacturer's recommendations, as the crystal parameters determine the external component values required to provide maximum stability and reliable startup. The load capacitance values used in the oscillator circuit design should include all stray capacitances.
NOTE:
Mount the crystal and components as close as possible to the pins for startup stabilization and to minimize output distortion.
1.5.3.1 Ceramic Resonator In cost-sensitive applications, use a ceramic resonator instead of a crystal. Use the circuit in Figure 1-3(a) for a ceramic resonator and follow the resonator manufacturer's recommendations, as the resonator parameters determine the external component values required for maximum stability and reliable starting. The load capacitance values used in the oscillator circuit design should include all stray capacitances. Mount the resonator and components as close as possible to the pins for startup stabilization and to minimize output distortion. 1.5.3.2 External Clock An external clock from another CMOS-compatible device can be connected to the OSC1 input, with the OSC2 input not connected, as shown in Figure 1-3(b).
Advance Information 22 General Description For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
General Description Functional Pin Description
TO VDD (OR STOP)
MCU
TO VDD (OR STOP)
MCU
OSC1 4.7 M
OSC2
OSC1
OSC2
UNCONNECTED
EXTERNAL CLOCK
Freescale Semiconductor, Inc...
37 pF
37 pF
(a)
Crystal or Ceramic Resonator Connections
(b) External Clock Source Connections
Figure 1-3. Oscillator Connections
1.5.4 Reset (RESET) Driving this input low will reset the MCU to a known startup state. As an output, the RESET pin indicates that an internal MCU reset has occurred. The RESET pin contains an internal Schmitt trigger to improve its noise immunity. Refer to Section 5. Resets.
1.5.5 Port A (PA0-PA7) These eight I/O pins comprise port A. The state of any pin is software programmable and all port A lines are configured as inputs during power-on or reset. For the MC68HC05P18, eight mask options can be chosen to enable pullups and interrupts (active low) on the port A pins. For the MC68HC805P18, the pullups and interrupt options (active low) on the port A pins can be individually programmed in the mask option register 2 (MOR2). For further information, refer to Section 4. Interrupts and Section 7. Input/Output (I/O) Ports.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA General Description For More Information On This Product, Go to: www.freescale.com
Advance Information 23
Freescale Semiconductor, Inc. General Description
1.5.6 Port B (PB5/SDO, PB6/SDI, and PB7/SCK) These three I/O pins comprise port B and are shared with the SIOP communications subsystem. The state of any pin is software programmable and all port B lines are configured as inputs during power-on or reset. For further information, refer to Section 7. Input/Output (I/O) Ports and Section 11. Serial Input/Output Port (SIOP).
Freescale Semiconductor, Inc...
1.5.7 Port C (PC0-PC2, PC3/AD3, PC4/AD2, PC5/AD1, PC6/AD0, and PC7/VREFH) These eight I/O pins comprise port C and are shared with the A/D converter subsystem. The state of any pin is software programmable and all port C lines are configured as inputs during power-on or reset. Port pins PC0 and PC1 are capable of sourcing and sinking high currents. For further information, refer to Section 7. Input/Output (I/O) Ports and Section 9. Analog-to-Digital (A/D) Converter.
1.5.8 Port D (PD5/CKOUT and PD7/TCAP) These two I/O pins comprise port D, and one of them is shared with the 16-bit timer subsystem. Unless clock output has been selected, the state of PD5/CKOUT is software programmable and is configured as an input during power-on or reset. PD7 is always an input; it may be read at any time, regardless of the mode of operation the 16-bit timer may be in. For further information, refer to Section 7. Input/Output (I/O) Ports and Section 10. 16-Bit Timer. For the MC68HC05P18, there is a mask option to turn the PD5/CKOUT pin into a clock output. The clock output is a buffered OSC2 signal with a CMOS output drive. The clock output or the port D function must be chosen with the mask option and is not alterable in software. For the MC68HC805P18, the PD5/CKOUT pin can be turned into a clock output pin by programming mask option register 1 (MOR1). The clock output is a buffered OSC2 signal with a CMOS output driver.
Advance Information 24 General Description For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
General Description Functional Pin Description
1.5.9 TCMP This pin is the output from the 16-bit timer's output compare function. It is low after reset. For further information, refer to Section 10. 16-Bit Timer.
1.5.10 Maskable Interrupt Request (IRQ) This input pin drives the asynchronous interrupt function of the MCU. The MCU will complete the current instruction being executed before it responds to the IRQ interrupt request. When IRQ is driven low, the event is latched internally to signify an interrupt has been requested. When the MCU completes its current instruction, the interrupt latch is tested. If the interrupt latch is set and the interrupt mask bit (I bit) in the condition code register is clear, the MCU will begin the interrupt sequence. Depending on the mask option selected for the MC68HC05P18 or the programming option selected in mask option register 1 (MOR1) for the MC68HC805P18, the IRQ pin will trigger this interrupt on either a negative-going edge at the IRQ pin and/or while the IRQ pin is held in the low state. In either case, the IRQ pin must be held low for at least one tILIH time period. The IRQ input requires an external resistor connected to VDD for wired-OR operation if: * * For the MC68HC05P18, the edge- and level-sensitive mask option is selected. For the MC68HC805P18, the edge- and level-sensitive edge is programmed in the MOR1.
Freescale Semiconductor, Inc...
If the IRQ pin is not used, it must be tied to the VDD supply. The IRQ pin contains an internal Schmitt trigger as part of its input circuitry to improve noise immunity. For further information, refer to Section 4. Interrupts.
NOTE:
For the MC68HC805P18, if the voltage level applied to the IRQ pin exceeds VDD, it may affect the MCU's mode of operation. See Section 6. Operating Modes.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA General Description For More Information On This Product, Go to: www.freescale.com
Advance Information 25
Freescale Semiconductor, Inc. General Description
Freescale Semiconductor, Inc...
Advance Information 26 General Description For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Advance Information -- MC68HC05P18/MC68HC805P18
Section 2. Memory
2.1 Contents
2.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 Input/Output and Control Registers . . . . . . . . . . . . . . . . . . . . .27 RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 ROM (MC68HC05P18 Only) . . . . . . . . . . . . . . . . . . . . . . . . . .34 EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 User EEPROM (MC68HC805P18 Only). . . . . . . . . . . . . . . . . .34
Freescale Semiconductor, Inc...
2.3 2.4 2.5 2.6 2.7
2.2 Introduction
The MC68HC05P18 and MC68HC805P18 both utilize 14 address lines to access an internal memory space covering 16 Kbytes. This memory space is divided into input/output (I/O), random-access memory (RAM), electrically erasable, programmable read-only memory (EEPROM), read-only memory (ROM), and boot ROM areas. Figure 2-1 and Figure 2-2 show user mode memory maps for the MC68HC05P18 and MC68HC805P18, respectively.
2.3 Input/Output and Control Registers
Figure 2-3 and Figure 2-4 briefly describe the input/output (I/O) and control registers at locations $0000-$001F. Reading unimplemented bits will return unknown states, and writing unimplemented bits will be ignored.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Memory For More Information On This Product, Go to: www.freescale.com
Advance Information 27
Freescale Semiconductor, Inc. Memory
$0000 $001F $0020 $004F $0050 $00BF $00C0 $00FF $0100 $010F $0140 $01BF $01C0
I/O 32 BYTES USER ROM 48 BYTES INTERNAL RAM 192 BYTES STACK 64 BYTES
0000 0031 0032 0079 0080 0191 0192 0255 0256 0271 0272 0399 0400
$0000
I/O REGISTERS SEE Figure 2-3
$001F
Freescale Semiconductor, Inc...
COP CONTROL REGISTER UNIMPLEMENTED UNIMPLEMENTED UNIMPLEMENTED UNIMPLEMENTED
$3FF0 $3FF1 $3FF2 $3FF3 $3FF4 $3FF5 $3FF6 $3FF7 $3FF8 $3FF9 $3FFA $3FFB $3FFC $3FFD $3FFE $3FFF
EEPROM 128 BYTES
UNUSED 77,28 BYTES $1FBF $1FC0 USER ROM 8,000 BYTES $3EFF $3F00 RESERVED FOR TEST 240 BYTES $3FEF $3FF0 $3FFF USER VECTORS ROM 16 BYTES 16367 16368 16383 16127 16128 8127 8128
UNIMPLEMENTED UNIMPLEMENTED UNIMPLEMENTED TIMER VECTOR (HIGH BYTE) TIMER VECTOR (LOW BYTE) IRQ VECTOR (HIGH BYTE) IRQ VECTOR (LOW BYTE) SWI VECTOR (HIGH BYTE) SWI VECTOR (LOW BYTE) RESET VECTOR (HIGH BYTE) RESET VECTOR (LOW BYTE)
Figure 2-1. MC68HC05P18 User Mode Memory Map
Advance Information 28 Memory For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Memory Input/Output and Control Registers
$0000 $001F $0020 $004F $0050 $00BF $00C0 $00FF $010F
I/O 32 BYTES USER EEPROM 48 BYTES INTERNAL RAM 192 BYTES STACK 64 BYTES UNUSED 48 BYTES EEPROM 128 BYTES
0000 0031 0032 0079 0080 0191 0192 0255 0271 0272 0319 0320 0447 0448
$0000
I/O REGISTERS SEE Figure 2-3
$001F
Freescale Semiconductor, Inc...
$013F $0140 $01BF $01C0
COP CONTROL REGISTER UNIMPLEMENTED UNIMPLEMENTED UNIMPLEMENTED UNIMPLEMENTED
$3FF0 $3FF1 $3FF2 $3FF3 $3FF4 $3FF5 $3FF6 $3FF7 $3FF8 $3FF9 $3FFA $3FFB $3FFC $3FFD $3FFE $3FFF
UNUSED 77,28 BYTES $1FBF $1FC0 USER EEPROM 8,000 BYTES $3EFF $3F00 $3F01 $3F02 16127 16128 16130 UNUSED 238 BYTES $3FEF $3FF0 $3FFF USER VECTORS EEPROM 16 BYTES 16367 16368 16383 8127 8128
UNIMPLEMENTED UNIMPLEMENTED UNIMPLEMENTED TIMER VECTOR (HIGH BYTE) TIMER VECTOR (LOW BYTE) IRQ VECTOR (HIGH BYTE) IRQ VECTOR (LOW BYTE) SWI VECTOR (HIGH BYTE) SWI VECTOR (LOW BYTE) RESET VECTOR (HIGH BYTE) RESET VECTOR (LOW BYTE)
MASK OPTION REGISTER
Figure 2-2. MC68HC805P18 User Mode Memory Map
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Memory For More Information On This Product, Go to: www.freescale.com
Advance Information 29
Freescale Semiconductor, Inc. Memory
PORT A DATA REGISTER PORT B DATA REGISTER PORT C DATA REGISTER PORT D DATA REGISTER PORT A DATA DIRECTION REGISTER PORT B DATA DIRECTION REGISTER PORT C DATA DIRECTION REGISTER PORT D DATA DIRECTION REGISTER UNIMPLEMENTED UNIMPLEMENTED SIOP CONTROL REGISTER SIOP STATUS REGISTER SIOP DATA REGISTER UNIMPLEMENTED UNIMPLEMENTED UNIMPLEMENTED UNIMPLEMENTED RESERVED TIMER CONTROL REGISTER TIMER STATUS REGISTER INPUT CAPTURE MOST SIGNIFICANT BIT INPUT CAPTURE LEAST SIGNIFICANT BIT OUTPUT COMPARE MOST SIGNIFICANT BIT OUTPUT COMPARE LEAST SIGNIFICANT BIT TIMER MOST SIGNIFICANT BIT TIMER LEAST SIGNIFICANT BIT ALTERNATE COUNTER MOST SIGNIFICANT BIT ALTERNATE COUNTER LEAST SIGNIFICANT BIT EEPROM PROGRAMMING REGISTER A/D CONVERTER DATA REGISTER A/D CONVERTER CONTROL AND STATUS REGISTER RESERVED
$0000 $0001 $0002 $0003 $0004 $0005 $0006 $0007 $0008 $0009 $000A $000B $000C $000D $000E $000F $0010 $0011 $0012 $0013 $0014 $0015 $0016 $0017 $0018 $0019 $001A $001B $001C $001D $001E $001F
Freescale Semiconductor, Inc...
Figure 2-3. I/O and Control Registers Memory Map
Advance Information 30 Memory For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Memory Input/Output and Control Registers
Addr.
Register Name Read: Port A Data Register (PORTA) Write: See page 64. Reset: Read: Port B Data Register (PORTB) Write: See page 65. Reset: Read: Port C Data Register (PORTC) Write: See page 66. Reset: Read: Port D Data Register (PORTD) Write: See page 67. Reset:
Bit 7 PA7
6 PA6
5 PA5
4 PA4
3 PA3
2 PA2
1 PA1
Bit 0 PA0
$0000
Unaffected by reset PB7 PB6 PB5 0 0 0 0 0
$0001
Unaffected by reset PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0
Freescale Semiconductor, Inc...
$0002
Unaffected by reset PD7 0 PD5 1 0 0 0 0
$0003
Unaffected by reset DDRA6 0 DDRB6 0 DDRA5 0 DDRB5 0 DDRC5 0 DDRD5 0 DDRA4 0 1 DDRA3 0 1 DDRA2 0 1 DDRA1 0 1 DDRA0 0 1
$0004
Read: Port A Data Direction DDRA7 (DDRA) Write: See page 64. Reset: 0 Read: Port B Data Direction DDRB7 (DDRB) Write: See page 65. Reset: 0
$0005
0 DDRC4 0 0
0 DDRC3 0 0
0 DDRC2 0 0
0 DDRC1 0 0
0 DDRC0 0 0
$0006
Read: Port C Data Direction DDRC7 DDRC6 (DDRC) Write: See page 66. Reset: 0 0 Read: Port D Data Direction (DDRD) Write: See page 67. Reset: Unimplemented Unimplemented Read: SIOP Control Register (SCR) Write: See page 102. Reset: 0 0 0
$0007
0
0
0
0
0
0
0
$0008 $0009
$000A
SPE 0
0
MSTR 0 R
0
0
0
0
0
0
0 = Reserved
0
0
0
= Unimplemented
U = Unaffected
Figure 2-4. I/O and Control Registers (Sheet 1 of 3)
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Memory For More Information On This Product, Go to: www.freescale.com Advance Information 31
Freescale Semiconductor, Inc. Memory
Addr.
Register Name Read: SIOP Status Register (SSR) Write: See page 104. Reset:
Bit 7 SPIF
6 DCOL
5 0
4 0
3 0
2 0
1 0
Bit 0 0
$000B
0
0 SDR6
0 SDR5
0 SDR4
0 SDR3
0 SDR2
0 SDR1
0 SDR0
$000C
Read: SIOP Data Register SDR7 (SDR) Write: See page 105. Reset: Unimplemented Unimplemented Unimplemented Unimplemented Reserved Read: Timer Control Register (TCR) Write: See page 94. Reset: Read: Timer Status Register (TSR) Write: See page 96. Reset: R
Unaffected by reset
$000D
Freescale Semiconductor, Inc...
$000E $000F $0010 $0011
R
R
R 0
R 0
R 0
R
R
$0012
ICIE 0 ICF
OCIE 0 OCF
TOIE 0 TOF
IEDG 0 0
OLVL 0 0
0 0
0 0
0 0
$0013
U
U ICRH6
U ICRH5
0 ICRH4
0 ICRH3
0 ICRH2
0 ICRH1
0 ICRH0
$0014
Read: ICRH7 Input Capture MSB Register (ICRH) Write: See page 93. Reset: Read: ICRL7 Input Capture LSB Register (ICRL) Write: See page 93. Reset:
Unaffected by reset ICRL6 ICRL5 ICRL4 ICRL3 ICRL2 ICRL1 ICRL0
$0015
Unaffected by reset OCRH5 OCRH4 OCRH3 OCRH2 OCRH1 OCRH0
$0016
Read: OCRH7 OCRH6 Output Compare MSB Register (OCRH) Write: See page 90. Reset:
Unaffected by reset R = Reserved U = Unaffected
= Unimplemented
Figure 2-4. I/O and Control Registers (Sheet 2 of 3)
Advance Information 32 Memory For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Memory Input/Output and Control Registers
Addr.
Register Name
Bit 7
6 OCRL6
5 OCRL5
4 OCRL4
3 OCRL3
2 OCRL2
1 OCRL1
Bit 0 OCRL0
$0017
Read: OCRL7 Output Compare LSB Register (OCRL) Write: See page 90. Reset:
Unaffected by reset TMRH5 TMRH4 TMRH3 TMRH2 TMRH1 TMRH0
$0018
Read: TMRH7 TMRH6 Timer MSB Register (TMRH) Write: See page 88. Reset: 1 1 Read: TMRL7 Timer LSB Register (TMRL) Write: See page 88. Reset: 1 Read: ACRH7 Alternate Counter MSB Register (ACRH) Write: See page 88. Reset: 1 Read: ACRL7 Alternate Counter LSB Register (ACRL) Write: See page 88. Reset: 1 Read: EEPROM Programming Register (EEPROG) Write: See page 72. Reset: 0 TMRL6
1 TMRL5
1 TMRL4
1 TMRL3
1 TMRL2
1 TMRL1
1 TMRL0
Freescale Semiconductor, Inc...
$0019
1 ACRH6
1 ACRH5
1 ACRH4
1 ACRH3
1 ACRH2
0 ACRH1
0 ACRH0
$001A
1 ACRL6
1 ACRL5
1 ACRL4
1 ACRL3
1 ACRL2
1 ACRL1
1 ACRL0
$001B
1 CPEN 0 AD6
1 0
1 ER1 0 AD4
1 ER0 0 AD3
1 LATCH 0 AD2
0 EERC 0 AD1
0 EEPGM 0 AD0
$001C
0 AD7
0 AD5
Read: A/D Conversion Data Register $001D (ADC) Write: See page 84. Reset: Read: A/D Status and Control Register (ADSC) Write: See page 82. Reset: Reserved
Unaffected by reset CC R 0 R ADON 0 R 0 0 CH2 0 R CH1 0 R CH0 0 R
$001E
0 R
0 R R
0 R = Reserved
$001F
= Unimplemented
U = Unaffected
Figure 2-4. I/O and Control Registers (Sheet 3 of 3)
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Memory For More Information On This Product, Go to: www.freescale.com
Advance Information 33
Freescale Semiconductor, Inc. Memory 2.4 RAM
The user RAM consists of 192 bytes (including the stack) at locations $0050-$010F. The stack begins at address $00FF. The stack pointer can access 64 bytes of RAM from $00FF to $00C0.
NOTE:
Using the stack area for data storage or temporary work locations requires care to prevent it from being overwritten due to stacking from an interrupt or subroutine call.
Freescale Semiconductor, Inc...
2.5 ROM (MC68HC05P18 Only)
There are 8064 bytes of user ROM available, consisting of 8000 bytes at locations $1FC0-$3EFF, 48 bytes in page zero locations $0020-$004F, and 16 additional bytes of user vectors at locations $3FF0-$3FFF.
NOTE:
Address space $3F00-$3FEF is reserved for test code. Unlike other M68HC05 devices, the MC68HC05P18 does not contain self-check code.
2.6 EEPROM
The EEPROM is located at address $0140 and consists of 128 bytes. Programming the EEPROM can be done by the user on a single byte basis by manipulating the programming register, located at address $001C. Refer to Section 8. EEPROM for a discussion of the EEPROM.
2.7 User EEPROM (MC68HC805P18 Only)
There are 8064 bytes of user EEPROM available, consisting of 8000 bytes at locations $1FC0-$3EFF, 48 bytes in page zero locations $0020-$004F, and 16 additional bytes for user vectors at locations $3FF0-$3FFF. This EEPROM can be programmed only in bootloader mode. Refer to 6.3.2 Bootloader Mode for more details.
Advance Information 34 Memory For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Advance Information -- MC68HC05P18/MC68HC805P18
Section 3. Central Processing Unit (CPU)
3.1 Contents
3.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
Freescale Semiconductor, Inc...
3.3 CPU Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36 3.3.1 Accumulator (A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 3.3.2 Index Register (X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 3.3.3 Condition Code Register (CCR) . . . . . . . . . . . . . . . . . . . . . .37 3.3.3.1 Half Carry (H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 3.3.3.2 Interrupt (I) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 3.3.3.3 Negative (N) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 3.3.3.4 Zero (Z) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 3.3.3.5 Carry/Borrow (C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 3.3.4 Stack Pointer (SP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 3.3.5 Program Counter (PC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
3.2 Introduction
This section describes the CPU registers.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Central Processing Unit (CPU) For More Information On This Product, Go to: www.freescale.com
Advance Information 35
Freescale Semiconductor, Inc. Central Processing Unit (CPU) 3.3 CPU Registers
The five CPU registers are shown in Figure 3-1 and the interrupt stacking order is shown in Figure 3-2.
7 A 7 X 0 INDEX REGISTER 0 PC 12 0 0 0 0 0 7 1 1 SP CCR H I N Z C CONDITION CODE REGISTER 0 STACK POINTER PROGRAM COUNTER 0 ACCUMULATOR
Freescale Semiconductor, Inc...
12
Figure 3-1. Programming Model
7 1 INCREASING MEMORY ADDRESSES R E T U R N 1 1
0 CONDITION CODE REGISTER ACCUMULATOR INDEX REGISTER PCH PCL
STACK I N T E R R U P T
DECREASING MEMORY ADDRESSES
UNSTACK Note: Since the stack pointer decrements during pushes, the PCL is stacked first, followed by PCH, etc. Pulling from the stack is in the reverse order.
Figure 3-2. Stacking Order
Advance Information 36 Central Processing Unit (CPU) For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Central Processing Unit (CPU) CPU Registers
3.3.1 Accumulator (A) The accumulator is a general-purpose 8-bit register used to hold operands and results of arithmetic calculations or data manipulations.
7 A 0
3.3.2 Index Register (X)
Freescale Semiconductor, Inc...
The index register is an 8-bit register used for the indexed addressing value to create an effective address. The index register may also be used as a temporary storage area.
7 X 0
3.3.3 Condition Code Register (CCR) The condition code register (CCR) is a 5-bit register in which four bits are used to indicate the results of the instruction just executed, and the fifth bit indicates whether interrupts are masked. These bits can be individually tested by a program, and specific actions can be taken as a result of their state. Each bit is explained in the following paragraphs.
CCR H I N Z C
3.3.3.1 Half Carry (H) This bit is set during ADD and ADC operations to indicate that a carry occurred between bits 3 and 4. 3.3.3.2 Interrupt (I) When this bit is set, the timer and external interrupt are masked (disabled). If an interrupt occurs while this bit is set, the interrupt is latched and processed as soon as the interrupt bit is cleared.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Central Processing Unit (CPU) For More Information On This Product, Go to: www.freescale.com Advance Information 37
Freescale Semiconductor, Inc. Central Processing Unit (CPU)
3.3.3.3 Negative (N) When set, this bit indicates that the result of the last arithmetic, logical, or data manipulation was negative. 3.3.3.4 Zero (Z) When set, this bit indicates that the result of the last arithmetic, logical, or data manipulation was 0.
Freescale Semiconductor, Inc...
3.3.3.5 Carry/Borrow (C) When set, this bit indicates that a carry or borrow out of the arithmetic logical unit (ALU) occurred during the last arithmetic operation. This bit is also affected during bit test and branch instructions and during shifts and rotates.
3.3.4 Stack Pointer (SP) The stack pointer contains the address of the next free location on the stack. During an MCU reset or the reset stack pointer (RSP) instruction, the stack pointer is set to location $00FF. The stack pointer is then decremented as data is pushed onto the stack and incremented as data is pulled from the stack. When accessing memory, the seven most significant bits are permanently set to 0000011. These seven bits are appended to the six least significant register bits to produce an address within the range of $00FF to $00C0. Subroutines and interrupts may use up to 64 (decimal) locations. If 64 locations are exceeded, the stack pointer wraps around and loses the previously stored information. A subroutine call occupies two locations on the stack; an interrupt uses five locations.
12 0 7 1 0 1 SP
0
0
0
0
Advance Information 38 Central Processing Unit (CPU) For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Central Processing Unit (CPU) CPU Registers
3.3.5 Program Counter (PC) The program counter is a 13-bit register that contains the address of the next byte to be fetched.
12 PC 0
NOTE:
Freescale Semiconductor, Inc...
The M68HC05 CPU core is capable of addressing a 64-Kbyte memory map. For this implementation, however, the addressing registers are limited to an 8-Kbyte memory map.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Central Processing Unit (CPU) For More Information On This Product, Go to: www.freescale.com
Advance Information 39
Freescale Semiconductor, Inc. Central Processing Unit (CPU)
Freescale Semiconductor, Inc...
Advance Information 40 Central Processing Unit (CPU) For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Advance Information -- MC68HC05P18/MC68HC805P18
Section 4. Interrupts
4.1 Contents
4.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
Freescale Semiconductor, Inc...
4.3 Interrupt Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 4.3.1 Reset Interrupt Sequence . . . . . . . . . . . . . . . . . . . . . . . . . .43 4.3.2 Software Interrupt (SWI). . . . . . . . . . . . . . . . . . . . . . . . . . . .43 4.3.3 Hardware Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 4.3.3.1 External Interrupt (IRQ) . . . . . . . . . . . . . . . . . . . . . . . . . .45 4.3.3.2 Optional External Interrupts (PA0-PA7) . . . . . . . . . . . . .46 4.3.3.3 Input Capture Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . .47 4.3.3.4 Output Compare Interrupt . . . . . . . . . . . . . . . . . . . . . . . .47 4.3.3.5 Timer Overflow Interrupt . . . . . . . . . . . . . . . . . . . . . . . . .47
4.2 Introduction
The MCUs can be interrupted six different ways: * * * * * * Non-maskable software interrupt instruction (SWI) External asynchronous interrupt (IRQ) Input capture interrupt (TIMER) Output compare interrupt (TIMER) Timer overflow interrupt (TIMER) Port A interrupt (if selected via MOR2, bits 0-7)
Interrupts cause the processor to save the register contents on the stack and to set the interrupt mask (I bit) to prevent additional interrupts. Unlike reset, hardware interrupts do not cause the current instruction execution to be halted, but are considered pending until the current instruction is completed.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Interrupts For More Information On This Product, Go to: www.freescale.com
Advance Information 41
Freescale Semiconductor, Inc. Interrupts
When the current instruction is completed, the processor checks all pending hardware interrupts. If interrupts are not masked (I bit in the condition code register is clear) and the corresponding interrupt enable bit is set, the processor proceeds with interrupt processing. Otherwise, the next instruction is fetched and executed. The software interrupt (SWI) is executed the same as any other instruction, regardless of the I bit state. When an interrupt is to be processed, the CPU puts the register contents on the stack, sets the I bit in the CCR, and fetches the address of the corresponding interrupt service routine from the vector table at locations $3FF0-$3FFF. If more than one interrupt is pending when the interrupt vector is fetched, the interrupt with the highest vector location shown in Table 4-1 will be serviced first. An return-from-interrupt (RTI) instruction is used to signify when the interrupt software service routine is completed. The RTI instruction causes the CPU state to be recovered from the stack and normal processing to resume at the next instruction that was to be executed when the interrupt took place. Figure 4-1 shows the sequence of events that occurs during interrupt processing. Table 4-1. Vector Addresses for Interrupts and Reset
Register N/A N/A N/A TSR TSR TSR N/A N/A N/A N/A Flag Name N/A N/A N/A ICF OCF TOF N/A N/A N/A N/A Reset Software External interrupt Timer input capture Timer output compare Timer overflow Unimplemented Unimplemented Unimplemented Unimplemented Interrupts CPU Interrupt RESET SWI IRQ TIMER TIMER TIMER N/A N/A N/A N/A Vector Address $3FF3-$3FFF $3FFC-$3FFD $3FFA-$3FFB $3FF8-$3FF9 $3FF8-$3FF9 $3FF8-$3FF9 $3FF6-$3FF7 $3FF4-$3FF5 $3FF2-$3FF3 $3FF0-$3FF1
Freescale Semiconductor, Inc...
Advance Information 42
MC68HC(8)05P18 -- Rev. 2.0 Interrupts For More Information On This Product, Go to: www.freescale.com MOTOROLA
Freescale Semiconductor, Inc.
Interrupts Interrupt Types
4.3 Interrupt Types
The interrupts fall into three categories: * * * Reset Software Hardware
Freescale Semiconductor, Inc...
4.3.1 Reset Interrupt Sequence The reset function is not in the strictest sense an interrupt; however, it is acted upon in a similar manner as shown in Figure 4-1. A low level input on the RESET pin or internally generated RST signal causes the program to vector to its starting address which is specified by the contents of memory locations $3FFE and $3FFF. The I bit in the condition code register is also set. The MCU is configured to a known state during this type of reset as described in Section 5. Resets.
4.3.2 Software Interrupt (SWI) The SWI is an executable instruction. It is also a non-maskable interrupt since it is executed regardless of the state of the I bit in the CCR. As with any instruction, interrupts pending during the previous instruction will be serviced before the SWI opcode is fetched. The interrupt service routine address for the SWI instruction is specified by the contents of memory locations $3FFC and $3FFD.
4.3.3 Hardware Interrupts All hardware interrupts are maskable by the I bit in the CCR. If the I bit is set, all hardware interrupts (internal and external) are disabled. Clearing the I bit enables the hardware interrupts. Four hardware interrupts are explained here.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Interrupts For More Information On This Product, Go to: www.freescale.com
Advance Information 43
Freescale Semiconductor, Inc. Interrupts
FROM RESET
Y
IS I BIT SET? N IRQ INTERRUPT? N TIMER INTERRUPT? N Y Y CLEAR IRQ REQUEST LATCH
Freescale Semiconductor, Inc...
STACK PC, X, A, CC
SET I BIT IN CCR
LOAD PC FROM: SWI: $3FFC, $3FFD IRQ: $3FFA-$3FFB TIMER: $3FF8-$3FF9
FETCH NEXT INSTRUCTION
SWI INSTRUCTION? N RTI INSTRUCTION? N EXECUTE INSTRUCTION
Y
Y
RESTORE RESISTERS FROM STACK CC, A, X, PC
Figure 4-1. Interrupt Processing Flowchart
Advance Information 44 Interrupts For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Interrupts Interrupt Types
4.3.3.1 External Interrupt (IRQ) The IRQ pin drives an asynchronous interrupt to the CPU. An edge detector flip-flop is latched on the falling edge of IRQ. If either the output from the internal edge detector flip-flop or the level on the IRQ pin is low, a request is synchronized to the CPU to generate the IRQ interrupt. If the edge-sensitive only option is selected, the output of the internal edge detector flip-flop is sampled and the input level on the IRQ pin is ignored. If port A interrupts are programmed as an option, a port A interrupt will use the same vector. The interrupt service routine address is specified by the contents of memory locations $3FFA and $3FFB.
Freescale Semiconductor, Inc...
NOTE:
The internal interrupt latch is cleared nine PH2 clock cycles after the interrupt is recognized (after location $3FFA is read). Therefore, another external interrupt pulse could be latched during the IRQ service routine. When the edge- and level-sensitive option is selected, the voltage applied to the IRQ pin must return to the high state before the RTI instruction in the interrupt service routine is executed. The IRQ pin is one source of an IRQ interrupt and a mask option can also enable the port A pins (PA0-PA7) to act as other IRQ interrupt sources. These sources are all combined into a single ORing function to be latched by the IRQ latch.
IRQ PIN
PA0 DDRA0 PA0 IRQ INHIBIT (MASK OPTION) : : : : PA7 DDRA7 PA7 IRQ INHIBIT (MASK OPTION) : : : : :
TO BIH & BIL INSTRUCTION SENSING
VDD IRQ LATCH R
TO IRQ PROCESSING IN CPU
RST
IRQ VECTOR FETCH MASK OPTION (IRQ LEVEL)
Figure 4-2. IRQ Function Block Diagram
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Interrupts For More Information On This Product, Go to: www.freescale.com Advance Information 45
Freescale Semiconductor, Inc. Interrupts
Any enabled IRQ interrupt source sets the IRQ latch on the falling edge of the IRQ pin or a port A pin if port A interrupts have been enabled. If edge-only sensitivity is chosen by a mask option, only the IRQ latch output can activate a request to the CPU to generate the IRQ interrupt sequence. This makes the IRQ interrupt sensitive to the: 1. Falling edge on the IRQ pin with all enabled port A interrupt pins at a high level 2. Falling edge on any enabled port A interrupt pin with all other enabled port A interrupt pins and the IRQ pin at a high level If level sensitivity is chosen, the active high state of the IRQ input can also activate an IRQ request to the CPU to generate the IRQ interrupt sequence. This makes the IRQ interrupt sensitive to the: 1. Low level on the IRQ pin 2. Falling edge on the IRQ pin with all enabled port A interrupt pins at a high level 3. Low level on any enabled port A interrupt pin 4. Falling edge on any enabled port A interrupt pin with all enabled port A interrupt pins and the IRQ pin at a high level This interrupt is serviced by the interrupt service routine located at the address specified by the contents of $3FFA and $3FFB. The IRQ latch is cleared automatically by entering the interrupt service routine. 4.3.3.2 Optional External Interrupts (PA0-PA7) The IRQ interrupt can be triggered by the inputs on the PA0-PA7 port pins if enabled by individual mask options. With pullup enabled, each port A pin can activate the IRQ interrupt function and the interrupt operation will be the same as for inputs to the IRQ pin. Once enabled by mask option, each individual port A pin can be disabled as an interrupt source if its corresponding DDR bit is configured for output mode.
Freescale Semiconductor, Inc...
NOTE:
The BIH and BIL instructions apply to the output of the logic OR function of the enabled PA0-PA7 interrupt pins and the IRQ pin. The BIH and BIL instructions do not test only the state of the IRQ pin.
Advance Information 46 Interrupts For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Interrupts Interrupt Types
If enabled, the PA0-PA7 pins will cause an IRQ interrupt only if these individual pins are configured as inputs. 4.3.3.3 Input Capture Interrupt The input capture interrupt is generated by the 16-bit timer as described in Section 10. 16-Bit Timer. The input capture interrupt flag is located in register TSR and its corresponding enable bit can be found in register TCR. The I bit in the CCR must be clear in order for the input capture interrupt to be enabled. The interrupt service routine address is specified by the contents of memory locations $3FF8 and $3FF9. 4.3.3.4 Output Compare Interrupt The output compare interrupt is generated by the 16-bit timer as described in Section 10. 16-Bit Timer. The output compare interrupt flag is located in register TSR and its corresponding enable bit can be found in register TCR. The I bit in the CCR must be clear in order for the output compare interrupt to be enabled. The interrupt service routine address is specified by the contents of memory locations $3FF8 and $3FF9. 4.3.3.5 Timer Overflow Interrupt The timer overflow interrupt is generated by the 16-bit timer as described in Section 10. 16-Bit Timer. The timer overflow interrupt flag is located in register TSR and its corresponding enable bit can be found in register TCR. The I bit in the CCR must be clear in order for the timer overflow interrupt to be enabled. This internal interrupt will vector to the interrupt service routine located at the address specified by the contents of memory locations $3FF8 and $3FF9.
Freescale Semiconductor, Inc...
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Interrupts For More Information On This Product, Go to: www.freescale.com
Advance Information 47
Freescale Semiconductor, Inc. Interrupts
Freescale Semiconductor, Inc...
Advance Information 48 Interrupts For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Advance Information -- MC68HC05P18/MC68HC805P18
Section 5. Resets
5.1 Contents
5.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49 External Reset (RESET). . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
Freescale Semiconductor, Inc...
5.3
5.4 Internal Resets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50 5.4.1 Power-On Reset (POR) . . . . . . . . . . . . . . . . . . . . . . . . . . . .50 5.4.2 Computer Operating Properly (COP) Reset . . . . . . . . . . . . .51 5.4.3 Low-Voltage Reset (LVR). . . . . . . . . . . . . . . . . . . . . . . . . . .51
5.2 Introduction
The MCU can be reset from four sources: one external input and three internal reset conditions. The RESET pin is an input with a Schmitt trigger as shown in Figure 5-1. The CPU and all peripheral modules will be reset by the RST signal which is the logical OR of internal reset functions and is clocked by PH2.
5.3 External Reset (RESET)
The RESET input is the only external reset and is connected to an internal Schmitt trigger. The external reset occurs whenever the RESET input is driven below the lower threshold and remains in reset until the RESET pin rises above the upper threshold. The upper and lower thresholds are given in Section 13. Electrical Specifications.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Resets For More Information On This Product, Go to: www.freescale.com
Advance Information 49
Freescale Semiconductor, Inc. Resets
IRQ D LATCH RESET R (PULSE WIDTH = 4 x E-CLK) PH2 CLOCKED ONE-SHOT
TO IRQ LOGIC MODE SELECT
Freescale Semiconductor, Inc...
OSC DATA ADDRESS VDD VDD
COP WATCHDOG (COPR) LOW-VOLTAGE RESET (LVR) POWER-ON RESET (POR) PH2 CPU S D LATCH RST TO OTHER PERIPHERALS
Figure 5-1. Reset Block Diagram
5.4 Internal Resets
The three internally generated resets are: * * * Initial power-on reset (POR) Computer operating properly (COP) watchdog timer Low-voltage reset (LVR) functions
5.4.1 Power-On Reset (POR) The internal POR is generated at power-up to allow the clock oscillator to stabilize. The POR is strictly for power turn-on conditions and should not be used to detect a drop in the power supply voltage. There is a 4064 PH2 clock cycle oscillator stabilization delay after the oscillator becomes active. The POR will generate the RST signal and reset the MCU. The POR will also pull the RESET pin low at the same time, allowing external devices to be reset with the MCU. If any other reset function is active at the end
Advance Information 50 Resets For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Resets Internal Resets
of this 4064 PH2 clock cycle delay, the RST signal will remain active until the other reset condition(s) end.
5.4.2 Computer Operating Properly (COP) Reset When the COP watchdog timer is enabled (by MOR1, bit 0), the internal COP reset is generated automatically by a timeout of the COP watchdog timer. This timer is implemented with an 18-stage ripple counter that provides a timeout period of 65.5 ms when a 4-MHz oscillator is used. The COP watchdog counter is cleared by writing a logical 0 to bit zero at location $3FF0. The COP register is shared with the most significant bit (MSB) of an unimplemented user interrupt vector as shown in Figure 5-2. Reading this location will return the MSB of the unimplemented user interrupt vector. Writing to this location will clear the COP watchdog timer.
Address: $3FF0 Bit 7 Read: Write: Reset: 0 R -- -- -- -- -- R -- = Reserved -- 6 0 5 0 4 0 3 0 2 0 1 0 Bit 0 0 COPR --
Freescale Semiconductor, Inc...
= Unimplemented
Figure 5-2. Unimplemented Vector and COP Watchdog Timer Register
5.4.3 Low-Voltage Reset (LVR) If the LVR has been enabled via MOR1, the internal LVR reset is generated when the supply voltage to the VDD pin falls below a nominal 3.80 Vdc. The LVR threshold is not intended to be an accurate and stable trip point, but is intended to ensure that the CPU will be held in reset when the VDD supply voltage is below reasonable operating limits. If the LVR is tripped for a short time, the LVR reset signal will last at least two cycles of the CPU bus clock, PH2.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Resets For More Information On This Product, Go to: www.freescale.com
Advance Information 51
Freescale Semiconductor, Inc. Resets
The LVR will generate the RST signal which will reset the CPU and other peripherals. Also, the LVR will establish the mode of operation based on the state of the IRQ pin at the time the LVR signal ends. If any other reset function is active at the end of the LVR reset signal, the RST signal will remain in the reset condition until the other reset condition(s) end.
NOTE:
The voltage of the IRQ pin must be between 0-VDD volts to stay in the normal operation mode.
Freescale Semiconductor, Inc...
Advance Information 52 Resets For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Advance Information -- MC68HC05P18/MC68HC805P18
Section 6. Operating Modes
6.1 Contents
6.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
Freescale Semiconductor, Inc...
6.3 User Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54 6.3.1 User Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54 6.3.2 Bootloader Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55 6.3.2.1 Bulk Erase/Blank Verify . . . . . . . . . . . . . . . . . . . . . . . . . .55 6.3.2.2 Bulk Erase/Program Verify. . . . . . . . . . . . . . . . . . . . . . . .57 6.4 Low-Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57
6.5 STOP Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59 6.5.1 Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59 6.5.2 Halt Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60 6.5.3 WAIT Instruction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60 6.6 COP Watchdog Timer Considerations . . . . . . . . . . . . . . . . . . .61
6.2 Introduction
This section describes the user, bootloader, and low-power operating modes. In addition the computer operating properly (COP) timer considerations are discussed.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Operating Modes For More Information On This Product, Go to: www.freescale.com
Advance Information 53
Freescale Semiconductor, Inc. Operating Modes 6.3 User Modes
The MC68HC(8)05P18 has two modes of operation available to the user: * * User mode Bootloader mode
Freescale Semiconductor, Inc...
The mode of operation is determined by the voltages on the IRQ and PD7/TCAP pins on the rising edge of the external RESET pin. Table 6-1 shows the condition required to go into each mode. Table 6-1. Operating Mode Conditions
RESET IRQ 0-5 V 2 x VDD TCAP 0-5 V 5V Mode User Bootloader
6.3.1 User Mode The user mode allows the MCU to function as a self-contained microcontroller with maximum use of the pins for on-chip peripheral functions. All address and data activity occurs within the MCU and is not available externally. User mode is entered on the rising edge of RESET, if the IRQ pin is within the normal operating voltage range. In the user mode, there is an 8-bit input/output (I/O) port, a second 8-bit I/O port shared with the analog-to-digital (A/D) subsystem, one 3-bit I/O port shared with the serial input/output port (SIOP), and a 2-bit I/O port shared with the16-bit timer subsystem.
Advance Information 54 Operating Modes For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Operating Modes User Modes
6.3.2 Bootloader Mode Bootloader mode is entered upon the rising edge of RESET if the IRQ pin is twice the VDD voltage and the TCAP/PD7 pin is at logic 1. In bootloader mode, the user EEPROM and mask option register (MOR) bytes can be erased and programmed. Figure 6-1 shows the bootloader circuit. PTC4 determines whether erasing or programming will occur as shown in Table 6-2. Table 6-2. Bootloader Functions
Freescale Semiconductor, Inc...
PTC4 0 1
Function Bulk erase/blank verify Bulk erase/program/verify
6.3.2.1 Bulk Erase/Blank Verify To use the bootloader circuit to bulk erase the user EEPROM, follow this sequence: 1. Close RESET switch and PTC4 switch so these pins are held low. 2. Apply 12-V power to IRQ. 3. Release RESET. 4. Programming LED will turn on while bulk erase is occurring. 5. When bulk erase is finished, programming LED will turn off. 6. When blank verify is finished, verify LED will turn on. 7. Close RESET switch. 8. Remove 12 V from IRQ, then remove power.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Operating Modes For More Information On This Product, Go to: www.freescale.com
Advance Information 55
Freescale Semiconductor, Inc. Operating Modes
12 V 27C128 1 k IRQ OSC1 4 MHz PA2 OSC2 PA3 PA4 10 M PA5 20 pF 20 pF PA6 PA7 VDD 10 k DQ6 DQ7 DQ8 CE OE RESET 1 F VDD 4.7 k PC5 (SYNC) VDD 4.7 k PROG 390 PB7 TCAP PC1 PC2 VERF PB6 390 PC4 VDD = 5.0 V PC3 4.7 k VDD 10 K PC6 PC7 A12 A13 A6 A5 A4 A3 A2 A1 A0 DQ4 DQ5 A8 A7 Q9 Q8 Q7 Q6 Q5 Q4 Q3 Q2 Q1 DQ3 A9 Q10 PA0 PA1 DQ1 DQ2 A11 A10 Q12 Q11 MC14040B
Freescale Semiconductor, Inc...
RST
CLK
Figure 6-1. Bootloader Circuit
Advance Information 56 Operating Modes For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Operating Modes Low-Power Modes
6.3.2.2 Bulk Erase/Program Verify To use the bootloader circuit to bulk erase, program, and verify the user EEPROM, follow this sequence: 1. Close RESET switch so RESET is low upon power up. 2. Open PTC4 switch so PTC4 remains high during reset sequence. 3. Make sure code to be loaded into user EEPROM is in the external EPROM (shown as 27C128).
Freescale Semiconductor, Inc...
4. Apply 12 V power to IRQ. 5. Release RESET. 6. Programming LED will be on during bulk erase and programming. (The code in the 27C128 will be loaded into the user EEPROM and MOR.) 7. When programming is finished, the programming LED will turn off. 8. When the verify is finished, verify LED will turn on. 9. Close RESET switch. 10. Remove 12 V from IRQ, then remove power.
NOTE:
Bootloader mode is the only mode in which the user can program the 8-K user EEPROM and MOR. The 128-byte EEPROM can be programmed in user mode.
6.4 Low-Power Modes
The MC68HC(8)05P18 is capable of running in a low-power mode in each of its configurations. The WAIT and STOP instructions provide modes that reduce the power required for the MCU by stopping various internal clocks and/or the on-chip oscillator. The STOP and WAIT instructions are not normally used if the COP watchdog timer is enabled (MOR1, bit 0). The stop conversion to halt option (MOR1, bit 5) is used to modify the behavior of the STOP instruction from stop mode to halt mode. The flow of the stop, halt, and wait modes is shown in Figure 6-2.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Operating Modes For More Information On This Product, Go to: www.freescale.com
Advance Information 57
Freescale Semiconductor, Inc. Operating Modes
STOP
HALT
WAIT
STOP TO HALT OPTION? N
Y
EXTERNAL OSCILLATOR ACTIVE AND INTERNAL TIMER CLOCK ACTIVE
STOP EXTERNAL OSCILLATOR, STOP INTERNAL TIMER CLOCK, RESET START-UP DELAY
STOP RC OSCILLATOR STOP INTERNAL PROCESSOR CLOCK, CLEAR I BIT IN CCR
EXTERNAL OSCILLATOR ACTIVE AND INTERNAL TIMER CLOCK ACTIVE
Freescale Semiconductor, Inc...
STOP RC OSCILLATOR STOP INTERNAL PROCESSOR CLOCK, CLEAR I-BIT IN CCR
Y
LVR OR EXTERNAL RESET? N
STOP INTERNAL PROCESSOR CLOCK, CLEAR I BIT IN CCR
LVR OR EXTERNAL RESET? N IRQ EXTERNAL INTERRUPT? N
Y
Y
IRQ EXTERNAL INTERRUPT? N
Y
LVR OR EXTERNAL RESET? N
Y
Y
TIMER INTERNAL INTERRUPT? N
Y
IRQ EXTERNAL INTERRUPT? N
RESTART EXTERNAL OSCILLATOR, START STABILIZATION DELAY Y
COP INTERNAL RESET? N
Y
TIMER INTERNAL INTERRUPT? N
END OF STABILIZATION DELAY? N
Y
Y RESTART INTERNAL PROCESSOR CLOCK
COP INTERNAL RESET? N
1. 2.
FETCH RESET VECTOR OR SERVICE INTERRUPT A. STACK B. SET I BIT C. VECTOR TO INTERRUPT ROUTINE
Figure 6-2. STOP/WAIT Flowcharts
Advance Information 58 Operating Modes For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Operating Modes STOP Instruction
6.5 STOP Instruction
The STOP instruction can result in one of two modes of operation depending on the option programmed in the mask option register 1. If the stop conversion to halt option (MOR1, bit 5) is not chosen, the STOP instruction will behave like a normal STOP instruction in the M68HC805 Family and place the MCU in stop mode. If the stop conversion to halt option is chosen, the STOP instruction will behave like a WAIT instruction (with the exception of a brief delay at startup) and place the MCU in halt mode.
Freescale Semiconductor, Inc...
6.5.1 Stop Mode Execution of the STOP instruction (without conversion to halt) places the MCU in its lowest power-consumption mode. In stop mode, the internal oscillator is turned off, stopping all internal processing including the COP watchdog timer. The RC oscillator that feeds the EEPROM and the A/D converter is also stopped. Execution of the STOP instruction automatically clears the I bit in the condition code register so that the IRQ external interrupt is enabled. All other registers and memory remain unaltered. All input/output lines remain unchanged. The MCU can be brought out of the stop mode only by an IRQ external interrupt (or port A, if selected as an option in the MOR2) or an externally generated reset. When exiting stop mode, the internal oscillator will resume after a 4064 PH2 clock cycle oscillator stabilization delay.
NOTE:
Execution of the STOP instruction without conversion to halt (via MOR1) will cause the oscillator to stop, and therefore disable the COP watchdog timer. If the COP watchdog timer is to be used, stop mode should be changed to halt mode by programming the appropriate option in MOR1.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Operating Modes For More Information On This Product, Go to: www.freescale.com
Advance Information 59
Freescale Semiconductor, Inc. Operating Modes
6.5.2 Halt Mode Execution of the STOP instruction with the conversion to halt places the MCU in this low-power mode. Halt mode consumes the same amount of power as wait mode (both halt and wait modes consume more power than stop mode). In halt mode the PH2 clock is halted, suspending all processor and internal bus activity. Internal timer clocks remain active, permitting interrupts to be generated from the 16-bit timer or a reset to be generated from the COP watchdog timer. Execution of the STOP instruction automatically clears the I bit in the condition code register enabling the IRQ external interrupt. All other registers, memory, and input/output lines remain in their previous states. If the 16-bit timer interrupt is enabled, it will cause the processor to exit halt mode and resume normal operation. Halt mode also can be exited when an IRQ external interrupt (or port A, if selected as an option in the MOR2) or external RESET occurs. When exiting halt mode, the PH2 clock will resume after a delay of one to 4064 PH2 clock cycles. This varied delay time is the result of the halt mode exit circuitry testing the oscillator stabilization delay timer (a feature of the stop mode), which has been free-running (a feature of the wait mode).
Freescale Semiconductor, Inc...
NOTE:
Halt mode is not intended for normal use. This feature is provided to keep the COP watchdog timer active in the event a STOP instruction is executed inadvertently.
6.5.3 WAIT Instruction The WAIT instruction places the MCU in a low-power mode which consumes more power than stop mode. In wait mode, the PH2 clock is halted, suspending all processor and internal bus activity. Internal timer clocks remain active, permitting interrupts to be generated from the 16-bit timer and reset to be generated from the COP watchdog timer. Execution of the WAIT instruction automatically clears the I bit in the condition code register enabling the IRQ external interrupt. All other registers, memory, and input/output lines remain in their previous state.
Advance Information 60 Operating Modes For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Operating Modes COP Watchdog Timer Considerations
If the 16-bit timer interrupt is enabled, it will cause the processor to exit wait mode and resume normal operation. The 16-bit timer may be used to generate a periodic exit from wait mode. Wait mode may also be exited when an IRQ or RESET occurs. Note that if port A interrupts (if programmed as an option in the mask option register 1) will also exit wait mode. However, when exiting wait mode, the internal oscillator will not need to wait for 4064 PH2 clock cycles to stabilize as in the stop and halt modes.
Freescale Semiconductor, Inc...
6.6 COP Watchdog Timer Considerations
The COP watchdog timer is active in user mode of operation when programmed as an option in MOR1. Executing the STOP instruction without conversion to halt (via mask option register1) will cause the COP to be disabled. Therefore, it is recommended that the STOP instruction be modified to produce halt mode (via MOR1) if the COP watchdog timer will be enabled. Furthermore, it is recommended that the COP watchdog timer be disabled for applications that will use the halt or wait modes for time periods that will exceed the COP timeout period. COP watchdog timer interactions are summarized in Table 6-3. Table 6-3. COP Watchdog Timer Recommendations
IF these conditions exist: STOP Instruction Mode Halt mode selected via MOR1, bit 5 Halt mode selected via MOR1, bit 5 Stop mode selected via MOR1, bit 5 Wait Period WAIT period less than COP timeout WAIT period more than COP timeout Any length wait period THEN the COP Watchdog Timer Should Be: Enable or disable COP via MOR1, bit 0 Disable COP via MOR1, bit 0 Disable COP via MOR1, bit 0
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Operating Modes For More Information On This Product, Go to: www.freescale.com
Advance Information 61
Freescale Semiconductor, Inc. Operating Modes
Freescale Semiconductor, Inc...
Advance Information 62 Operating Modes For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Advance Information -- MC68HC05P18/MC68HC805P18
Section 7. Input/Output (I/O) Ports
7.1 Contents
7.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63 Port A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64 Port B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65 Port C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66 Port D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67 I/O Port Programming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68
Freescale Semiconductor, Inc...
7.3 7.4 7.5 7.6 7.7
7.2 Introduction
In user mode, 20 bidirectional input/output (I/O) lines are arranged as two 8-bit I/O ports (ports A and C), one 3-bit I/O port (port B), and one 1-bit I/O port (port D). These ports are programmable as either inputs or outputs under software control of the data direction registers (DDRs). An input-only pin is associated with port D.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Input/Output (I/O) Ports For More Information On This Product, Go to: www.freescale.com
Advance Information 63
Freescale Semiconductor, Inc. Input/Output (I/O) Ports 7.3 Port A
Port A is an 8-bit bidirectional port which can share its pins with the IRQ interrupt system as shown in Figure 7-1. Each port A pin is controlled by the corresponding bits in a data direction register and a data register. The port A data register is located at address $0000. The port A data direction register (DDRA) is located at address $0004. Reset clears the DDRA, thereby initializing port A as an input port. The port A data register is unaffected by reset.
Freescale Semiconductor, Inc...
MOR 2 (PULLUP INHIBIT) READ $0004 WRITE $0004 DATA DIRECTION REGISTER BIT DATA REGISTER BIT OUTPUT
VDD
WRITE $0000
I/O PIN
READ $0000 100 A PULLUP RESET (RST) TO IRQ INTERRUPT SYSTEM
INTERNAL HC05 DATA BUS
Figure 7-1. Port A I/O Circuitry
Advance Information 64 Input/Output (I/O) Ports For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Input/Output (I/O) Ports Port B
7.4 Port B
Port B is a 3-bit bidirectional port which can share pins PB5-PB7 with the serial input/output port (SIOP) communications subsystem. The port B data register is located at address $0001 and its data direction register (DDR) is located at address $0005. Reset does not affect the data registers, but clears the DDRs, thereby setting all of the port pins to input mode. Writing a logic 1 to a DDR bit sets the corresponding port pin to output mode (see Figure 7-2).
Freescale Semiconductor, Inc...
Port B may be used for general I/O applications when the SIOP subsystem is disabled. The SPE bit in register SPCR is used to enable/disable the SIOP subsystem. When the SIOP subsystem is enabled, port B registers are still accessible to software. Writing to either of the port B registers while a data transfer is under way could corrupt the data. See Section 11. Serial Input/Output Port (SIOP) for a discussion of the SIOP subsystem.
READ $0005 WRITE $0005 RESET (RST) DATA DIRECTION REGISTER BIT DATA REGISTER BIT OUTPUT I/O PIN
WRITE $0001
READ $0001 INTERNAL HC05 DATA BUS
Figure 7-2. Port B I/O Circuitry
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Input/Output (I/O) Ports For More Information On This Product, Go to: www.freescale.com
Advance Information 65
Freescale Semiconductor, Inc. Input/Output (I/O) Ports 7.5 Port C
Port C is an 8-bit bidirectional port which can share pins PC3-PC7 with the A/D subsystem. The port C data register is located at address $0002 and its data direction register (DDR) is located at address $0006. Reset does not affect the data registers, but clears the DDRs, thereby setting all of the port pins to input mode. Writing a logic 1 to a DDR bit sets the corresponding port pin to output mode (see Figure 7-3). Two port C pins, PC0 and PC1, can source and sink a higher current than a typical I/O pin. See Section 13. Electrical Specifications regarding current specifications. Port C may be used for general I/O applications when the A/D subsystem is disabled. The ADON bit in register ADSC is used to enable/disable the A/D subsystem. Care must be exercised when using pins PC0-PC2 while the A/D subsystem is enabled. Accidental changes to bits that affect pins PC3-PC7 in the data or DDR registers will produce unpredictable results in the A/D subsystem. See Section 9. Analog-to-Digital (A/D) Converter.
Freescale Semiconductor, Inc...
READ $0006 WRITE $0006 RESET (RST) DATA DIRECTION REGISTER BIT DATA REGISTER BIT
HIGH CURRENT CAPABILITY, PC0 AND PC1 ONLY OUTPUT I/O PIN
WRITE $0002
READ $0002 INTERNAL HC05 DATA BUS
Figure 7-3. Port C I/O Circuitry
Advance Information 66 Input/Output (I/O) Ports For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Input/Output (I/O) Ports Port D
7.6 Port D
Port D is a 2-bit port with one bidirectional pin (PD5/CKOUT) and one input-only pin (PD7). Pin PD7 is shared with the 16-bit timer. PD5 can be replaced with a buffered OSC2 clock output via MOR1. The port D data register is located at address $0003 and its data direction register (DDR) is located at address $0007. Reset does not affect the data registers, but clears the DDRs, thereby setting PD5/CKOUT to input mode. Writing a 1 to DDR bit 5 sets PD5/CKOUT to output mode (see Figure 7-4).
Freescale Semiconductor, Inc...
Port D may be used for general I/O applications regardless of the state of the 16-bit timer. Since PD7 is an input-only line, its state can be read from the port D data register at any time.
READ $0007 WRITE $0007 RESET (RST) DATA DIRECTION REGISTER BIT DATA REGISTER BIT OUTPUT I/O PIN
WRITE $0003
READ $0003 INTERNAL HC05 DATA BUS
Figure 7-4. Port D I/O Circuitry
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Input/Output (I/O) Ports For More Information On This Product, Go to: www.freescale.com
Advance Information 67
Freescale Semiconductor, Inc. Input/Output (I/O) Ports 7.7 I/O Port Programming
Each pin on port A through port D (except pin 7 of port D) may be programmed as an input or an output under software control as shown in Table 7-1, Table 7-2, Table 7-3, and Table 7-4. The direction of a pin is determined by the state of its corresponding bit in the associated port data direction register (DDR). A pin is configured as an output if its corresponding DDR bit is set to a logic 1. A pin is configured as an input if its corresponding DDR bit is cleared to a logic 0.
Freescale Semiconductor, Inc...
Table 7-1. Port A I/O Functions
DDRA I/O Pin Mode Access to DDRA @ $0004 Read/Write 0 1 Input, high impedance Output DDRA0-DDRA7 DDRA0-DDRA157 Access to Data Register @ $0000 Read I/O pin PA0-PA7 Write * PA0-PA7
*Does not affect input, but stored to data register
Table 7-2. Port B I/O Functions
DDRB I/O Pin Mode Access to DDRA @ $0005 Read/Write 0 1 Input, high impedance Output DDRB5-DDRB7 DDRB5-DDRB7 Access to Data Register @ $0001 Read I/O pin PB5-PB7 Write * PB5-PB7
*Does not affect input, but stored to data register
Table 7-3. Port C I/O Functions
DDRA I/O Pin Mode Access to DDRA @ $0006 Read/Write 0 1 Input, high impedance Output DDRC0-DDRC7 DDRC0-DDRC7 Accesses to Data Register @ $0002 Read I/O pin PC0-PC7 Write * PC0-PC7
*Does not affect input, but stored to data register
Advance Information 68 Input/Output (I/O) Ports For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Input/Output (I/O) Ports I/O Port Programming
Table 7-4. Port D I/O Functions
DDRA I/O Pin Mode Access to DDRA @ $0007 Read/Write 0 1 Input, high impedance Output DDRD5 DDRD5 Accesses to Data Register @ $0003 Read I/O pin PD5/CKOUT Write * PD5/CKOUT
*Does not affect input, but stored to data register **PD7 is input-only
Freescale Semiconductor, Inc...
NOTE:
To avoid generating a glitch on an I/O port pin, data should be written to the I/O port data register before writing a logical 1 to the corresponding data direction register.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Input/Output (I/O) Ports For More Information On This Product, Go to: www.freescale.com
Advance Information 69
Freescale Semiconductor, Inc. Input/Output (I/O) Ports
Freescale Semiconductor, Inc...
Advance Information 70 Input/Output (I/O) Ports For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Advance Information -- MC68HC05P18/MC68HC805P18
Section 8. EEPROM
8.1 Contents
8.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71 EEPROM Programming Register . . . . . . . . . . . . . . . . . . . . . . .72 Programming/Erasing Procedures . . . . . . . . . . . . . . . . . . . . . .74 Mask Option Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75
Freescale Semiconductor, Inc...
8.3 8.4 8.5
8.2 Introduction
This section describes the electrically erasable, programmable read-only memory (EEPROM) which is located at address $0140 and consists of 128 bytes. Programming the EEPROM can be done by the user on a single byte basis by manipulating the programming register located at address $001C. Also, the mask option register (MOR), which consists of two additional EEPROM bytes, is discussed.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA EEPROM For More Information On This Product, Go to: www.freescale.com
Advance Information 71
Freescale Semiconductor, Inc. EEPROM 8.3 EEPROM Programming Register
The contents and use of the programming register are discussed here.
Address: $001C Bit 7 Read: Write: 0 CPEN Reset: 0 0 0 6 5 0 ER1 0 ER0 0 LATCH 0 EERC 0 EEPGM 0 4 3 2 1 Bit 0
Freescale Semiconductor, Inc...
= Unimplemented
Figure 8-1. EEPROM Programming Register (EEPROG) CPEN -- Charge Pump Enable Bit When set, CPEN enables the charge pump which produces the internal EEPROM programming voltage. This bit should be set concurrently with the LATCH bit. The programming voltage will not be available until EEPGM is set. The charge pump should be disabled when not in use. CPEN is readable and writable and is cleared by reset. ER1 and ER0 -- Erase Select Bits ER1 and ER0 form a 2-bit field which is used to select one of three erase modes: byte, block, or bulk. Table 8-1 shows the modes selected for each bit configuration. These bits are readable and writable and are cleared by reset. Table 8-1. Erase Mode Select
ER1 0 0 1 1 ER0 0 1 0 1 Mode Program (no erase) Byte erase Block erase Bulk erase
Advance Information 72 EEPROM For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
EEPROM EEPROM Programming Register
In byte erase mode, only the selected byte is erased. In block mode, a 32-byte block of EEPROM is erased. The EEPROM memory space is divided into four 32-byte blocks ($140-$15F, $160-$17F, $180-$19F and $1A0-$1BF) and doing a block erase to any address within a block will erase the entire block. In bulk erase mode, the entire 128-byte EEPROM section is erased. LATCH -- Latch Bit When set, LATCH configures the EEPROM address and data bus for programming. Writes to the EEPROM array cause the data bus and the address bus to be latched. This bit is readable and writable, but reads from the array are inhibited if the LATCH bit is set and a write to the EEPROM space has taken place. When clear, address and data buses are configured for normal operation. Reset clears this bit. EERC -- EEPROM RC Oscillator Control Bit When this bit is set, the EEPROM section uses the internal RC oscillator instead of the CPU clock. The RC oscillator is shared with the A/D converter, so this bit should be set by the user when the internal bus frequency is below 1.5 MHz to guarantee reliable operation of the EEPROM or A/D converter. After setting the EERC bit, delay a time, tRCON, to allow the RC oscillator to stabilize. This bit is readable and writable. The EERC bit is cleared by reset. The RC oscillator is disabled while the MCU is in stop mode. EEPGM -- EEPROM Programming Power Enable Bit EEPGM must be written to enable (or disable) the EEPGM function. When set, EEPGM turns on the charge pump and enables the programming (or erasing) power to the EEPROM array. When clear, this power is switched off. This will enable pulsing of the programming voltage to be controlled internally. This bit can be read at any time, but can only be written to if LATCH = 1. If LATCH is not set, then EEPGM cannot be set. LATCH and EEPGM cannot both be set with one write if LATCH is cleared. EEPGM is cleared automatically when LATCH is cleared. Reset clears this bit.
Freescale Semiconductor, Inc...
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA EEPROM For More Information On This Product, Go to: www.freescale.com
Advance Information 73
Freescale Semiconductor, Inc. EEPROM 8.4 Programming/Erasing Procedures
To program a byte of EEPROM, set LATCH = CPEN = 1, set ER1 = ER0 = 0, write data to the desired address, and then set EEPGM for a time, tEPGM.
NOTE:
Any bit should be erased before it is programmed. However, if write/erase cycling is a concern, the following procedure will minimize the cycling of each bit in each EEPROM byte. If PB * EB = 0, then program the new data over the existing data without erasing it first. If PB * EB 0, then erase the byte before programming where PB = byte data to be programmed and EB = existing EEPROM byte data. To erase a byte of EEPROM, set LATCH = 1, CPEN = 1, ER1 = 0, and ER0 = 1, write to the address to be erased and set EEPGM for a time, tEBYT. To erase a block of EEPROM, set LATCH = 1, CPEN = 1, ER1 = 1, and ER0 = 0, write to any address in the block, and set EEPGM for a time, tEBLOCK. For a bulk erase, set LATCH = 1, CPEN = 1, ER1 = 1, and ER0 = 1, write to any address in the array, and set EEPGM for a time, tEBULK. To terminate the programming or erase sequence, clear EEPGM, delay for a time tFPV to allow the program voltage to fall, and then clear LATCH and CPEN to free up the buses. Following each erase or programming sequence, clear all programming control bits.
Freescale Semiconductor, Inc...
NOTE:
Erased/programmed state of the programming EEPROM (128 bytes) and the user EEPROM (8064 bytes) is opposite. An erased EEPROM memory location is a logic 0 for user EEPROM, while it is a logic 1 for programming EEPROM.
Advance Information 74 EEPROM For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
EEPROM Mask Option Registers
8.5 Mask Option Registers
The mask option registers (MOR) consist of two EEPROM bytes located at $3F00 and $3F01. The MORs hold the 16 option bits for: * * * * The SIOP data format, interrupt sensitivity COP enable/disable SIOP clock rate LVR enable/disable Stop conversion to halt, pullup/interrupt enable on port A Clock output option to replace PD5
Freescale Semiconductor, Inc...
* *
When in the erased state, the EEPROM cells will read as logic 0s. These registers are refreshed every 256 s during power-on reset and every 16 ms after the part is out of reset (assuming fOSC = 4 MHz).
Address: $3F00 Bit 7 Read: CLKOUT Write: Reset: = Unimplemented Unaffected by reset 6 LVRE 5 SWAIT 4 SPR1 3 SPR0 2 LSBF 1 LEVIRQ Bit 0 COPEN
Figure 8-2. Mask Option Register 1 (MOR1)
Address: $3F01 Bit 7 Read: Write: Reset: = Unimplemented Unaffected by reset PA7PU 6 PA6PU 5 PA5PU 4 PA4PU 3 PA3PU 2 PA2PU 1 PA1PU Bit 0 PA0PU
Figure 8-3. Mask Option Register 2 (MOR2)
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA EEPROM For More Information On This Product, Go to: www.freescale.com
Advance Information 75
Freescale Semiconductor, Inc. EEPROM
COPEN -- COP Enable/Disable Bit COPEN may be read at any time. In user mode, writing has no effect. It has to be programmed in bootloader mode. 0 = The COP is disabled (erased state). 1 = The COP is enabled. LEVIRQ -- Interrupt Request Option Bit LEVIRQ may be read at any time. In user mode, writing has no effect. It has to be programmed in bootloader mode. 0 = The IRQ pin is edge-sensitive (erased state). 1 = The IRQ pin is edge- and level-sensitive. LSBF -- SIOP MSB or LSB First Bit LSBF may be read at any time. In user mode, writing has no effect. It has to be programmed in bootloader mode. 0 = The SIOP sends/receives MSB (bit 7) first (erased state). 1 = The SIOP sends/receives LSB (bit 0) first. SPR1 and SPR0 -- SIOP Rate Select Bits These bits may be read at any time. In user mode, writing has no effect. It has to be programmed in bootloader mode. Table 8-2. SIOP Clock Rate Selection
SPR1 0 0 1 1 SPR0 0 1 0 1 Frequency fOSC divided by 16 fOSC divided by 8 fOSC divided by 4 fOSC divided by 2
Freescale Semiconductor, Inc...
SWAIT -- STOP Conversion to WAIT Bit SWAIT may be read at any time. In user mode, writing has no effect. It has to be programmed in bootloader mode. 0 = STOP instruction puts MCU in stop mode. 1 = STOP instruction puts MCU in halt mode.
Advance Information 76 EEPROM For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
EEPROM Mask Option Registers
LVRE -- LVR Enable/Disable Bit LVRE may be read at any time. In user mode, writing has no effect. It has to be programmed in bootloader mode. 0 = The LVR is disabled (erased state). 1 = The LVR is enabled. CLKOUT -- CLKOUT Enable/Disable Bit CLKOUT may be read at any time. In user mode, writing has no effect. It has to be programmed in bootloader mode. 0 = The CLKOUT is disabled (erased state). 1 = The CLKOUT is enabled. PA7PU-PA0PU -- Port A Pullups/Interrupt Enable/Disable Bits These bits may be read at any time. In user mode, writing has no effect. It has to be programmed in bootloader mode. 0 = Port A (bits 0-7) pullups/interrupt is disabled (erased state). 1 = Port A (bits 0-7) pullups/interrupt is enabled.
Freescale Semiconductor, Inc...
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA EEPROM For More Information On This Product, Go to: www.freescale.com
Advance Information 77
Freescale Semiconductor, Inc. EEPROM
Freescale Semiconductor, Inc...
Advance Information 78 EEPROM For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Advance Information -- MC68HC05P18/MC68HC805P18
Section 9. Analog-to-Digital (A/D) Converter
9.1 Contents
9.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
Freescale Semiconductor, Inc...
9.3 Analog Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80 9.3.1 Ratiometric Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . .80 9.3.2 VREFH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80 9.3.3 Accuracy and Precision . . . . . . . . . . . . . . . . . . . . . . . . . . . .80 9.3.4 Conversion Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80 9.4 Digital Section. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81 9.4.1 Conversion Times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81 9.4.2 Internal versus External Oscillator . . . . . . . . . . . . . . . . . . . .81 9.4.3 Multi-Channel Operation . . . . . . . . . . . . . . . . . . . . . . . . . . .82 9.5 9.6 9.7 9.8 A/D Status and Control Register. . . . . . . . . . . . . . . . . . . . . . . .82 A/D Conversion Data Register . . . . . . . . . . . . . . . . . . . . . . . . .84 A/D Subsystem During Wait/Halt Modes . . . . . . . . . . . . . . . . .84 A/D Subsystem Operation During Stop Mode . . . . . . . . . . . . .84
9.2 Introduction
The MC68HC(8)05P18 includes a 4-channel, multiplexed input, 8-bit successive approximation analog-to-digital (A/D) converter. The A/D subsystem shares its inputs with port C pins PC3-PC7.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Analog-to-Digital (A/D) Converter For More Information On This Product, Go to: www.freescale.com
Advance Information 79
Freescale Semiconductor, Inc. Analog-to-Digital (A/D) Converter 9.3 Analog Section
This section describes the operation and performance of analog modules within the analog subsystem.
9.3.1 Ratiometric Conversion The A/D converter is ratiometric, with pin VREFH supplying the high reference voltage. Applying an input voltage equal to VREFH produces a conversion result of $FF (full scale). Applying an input voltage equal to VSS produces a conversion result of $00. An input voltage greater than VREFH will convert to $FF with no overflow indication. For ratiometric conversions, VREFH should be at the same potential as the supply voltage being used by the analog signal being measured and referenced to VSS.
Freescale Semiconductor, Inc...
9.3.2 VREFH The reference supply for the A/D converter shares pin PC7 with port C. The low reference is tied to the VSS pin internally. VREFH can be any voltage between VSS and VDD; however, the accuracy of conversions is tested and guaranteed only for VREFH = VDD.
9.3.3 Accuracy and Precision The 8-bit conversion result is accurate to within 1 1/2 LSB (least significant bit), including quantization; however, the accuracy of conversions is tested and guaranteed only with external oscillator operation.
9.3.4 Conversion Process The A/D reference inputs are applied to a precision digital-to-analog converter. Control logic drives the D/A and the analog output is successively compared to the selected analog input which was sampled at the beginning of the conversion cycle. The conversion process is monotonic and has no missing codes.
Advance Information 80 Analog-to-Digital (A/D) Converter For More Information On This Product, Go to: www.freescale.com MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Analog-to-Digital (A/D) Converter Digital Section
9.4 Digital Section
This section describes the operation and performance of digital modules within the analog subsystem.
9.4.1 Conversion Times Each input conversion requires 32 PH2 clock cycles, which must be at a frequency equal to or greater than 1 MHz.
Freescale Semiconductor, Inc...
9.4.2 Internal versus External Oscillator If the MCU PH2 clock frequency is less than 1 MHz (2 MHz external oscillator), the internal RC oscillator (approximately 1.5 MHz) must be used for the A/D converter clock. The internal RC clock is selected by setting the EERC bit in the EEPROM programming register (EEPROG).
NOTE:
The RC oscillator is shared with the EEPROM module. The RC oscillator is disabled while the MCU is in stop mode. When the internal RC oscillator is being used, these limitations apply: 1. Since the internal RC oscillator is running asynchronously with respect to the PH2 clock, the conversion complete bit (CC) in the A/D status and control register must be used to determine when a conversion sequence has been completed. 2. Electrical noise will slightly degrade the accuracy of the A/D converter. The A/D converter is synchronized to read voltages during the quiet period of the clock driving it. Since the internal and external clocks are not synchronized, the A/D converter occasionally will measure an input when the external clock is making a transition. 3. If the PH2 clock is 1 MHz or greater (for instance, external oscillator 2 MHz or greater), the internal RC oscillator should be turned off and the external oscillator used as the conversion clock.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Analog-to-Digital (A/D) Converter For More Information On This Product, Go to: www.freescale.com
Advance Information 81
Freescale Semiconductor, Inc. Analog-to-Digital (A/D) Converter
9.4.3 Multi-Channel Operation An input multiplexer allows the A/D converter to select from one of four external analog signals. Port C pins PC3-PC6 are shared with the inputs to the multiplexer.
9.5 A/D Status and Control Register
Freescale Semiconductor, Inc...
The ADSC register reports the completion of A/D conversion and provides control over oscillator selection, analog subsystem power, and input channel selection. See Figure 9-1.
Address: $001E Bit 7 Read: Write: Reset: 0 0 0 0 R 0 = Reserved 0 0 0 CC R ADON 6 5 4 0 3 0 CH2 CH1 CH0 2 1 Bit 0
= Unimplemented
Figure 9-1. A/D Status and Control Register (ADSC) CC -- Conversion Complete Bit This read-only status bit is set when a conversion sequence has completed and data is ready to be read from the ADC register. CC is cleared when a channel is selected for conversion, when data is read from the ADC register, or when the A/D subsystem is turned off. Once a conversion has been started, conversions of the selected channel will continue every 32 PH2 clock cycles until the ADSC register is written to again. During continuous conversion operation, the ADC register will be updated with new data and the CC bit set every 32 PH2 clock cycles. Also, data from the previous conversion will be overwritten regardless of the state of the CC bit. Reserved This bit is not used currently. It can be read or written, but does not control anything.
Advance Information 82 Analog-to-Digital (A/D) Converter For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Analog-to-Digital (A/D) Converter A/D Status and Control Register
ADON -- A/D Subsystem On But When the A/D subsystem is turned on (ADON = 1), it requires a time, tADON, to stabilize before accurate conversion results can be attained. CH2-CH0 -- Channel Select Bits CH2, CH1, and CH0 form a 3-bit field which is used to select an input to the A/D converter. Channels 0-3 correspond to port C input pins PC6-PC3. Channels 4-6 are used for reference measurements. In user mode channel 7 is reserved. If a conversion is attempted with channel 7 selected the result will be $00. Table 9-1 lists the inputs selected by bits CH0-CH3. If the ADON bit is set and an input from channels 0-4 is selected, the corresponding port C pin's DDR bit will be cleared (making that port C pin an input). If the port C data register is read while the A/D is on and one of the shared input channels is selected using bit CH0-CH2, the corresponding port C pin will read as a logic 0. The remaining port C pins will read normally. To digitally read a port C pin, the A/D subsystem must be disabled (ADON = 0) or input channels 5-7 must be selected. Table 9-1. A/D Multiplexer Input Channel Assignments
Channel 0 1 2 3 4 5 6 7 Signal AD0 -- port C, bit 6 AD1 -- port C, bit 5 AD2 -- port C, bit 4 AD3 -- port C, bit 3 VREFH -- port C, bit 7 (VREFH + VSS)/2 VSS Reserved
Freescale Semiconductor, Inc...
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Analog-to-Digital (A/D) Converter For More Information On This Product, Go to: www.freescale.com
Advance Information 83
Freescale Semiconductor, Inc. Analog-to-Digital (A/D) Converter 9.6 A/D Conversion Data Register
This register contains the output of the A/D converter. See Figure 9-2.
Address: $001D Bit 7 Read: Write: AD7 6 AD6 5 AD5 4 AD4 3 AD3 2 AD2 1 AD1 Bit 0 AD0
Freescale Semiconductor, Inc...
Reset: = Unimplemented
Unaffected by reset
Figure 9-2. A/D Conversion Data Register (ADC)
9.7 A/D Subsystem During Wait/Halt Modes
The A/D subsystem continues normal operation during wait mode and halt mode. To decrease power consumption during wait or halt, the ADON bit in the ADSC register and the EERC bit in the EEPROG register should be cleared if the A/D subsystem is not being used.
9.8 A/D Subsystem Operation During Stop Mode
When stop mode is enabled, execution of the STOP instruction will terminate all A/D subsystem functions. Any pending conversion is aborted. When the oscillator resumes operation upon leaving stop mode, a finite amount of time passes before the A/D subsystem stabilizes sufficiently to provide conversions at its rated accuracy. The delays built into the MC68HC805P18 when coming out of stop mode are sufficient for this purpose. No explicit delays need to be added to the application software.
Advance Information 84 Analog-to-Digital (A/D) Converter For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Advance Information -- MC68HC05P18/MC68HC805P18
Section 10. 16-Bit Timer
10.1 Contents
10.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85 Timer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87 Output Compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90 Input Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92 Timer Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94 Timer Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95 Timer Operation During Wait/Halt Modes. . . . . . . . . . . . . . . . .97 Timer Operation During Stop Mode . . . . . . . . . . . . . . . . . . . . .97
Freescale Semiconductor, Inc...
10.3 10.4 10.5 10.6 10.7 10.8 10.9
10.2 Introduction
The MC68HC(8)05P18 MCU contains a single 16-bit programmable timer with an input capture function and an output compare function. The 16-bit timer is driven by the output of a fixed divide-by-four prescaler operating from the PH2 clock. The 16-bit timer may be used for many applications including input waveform measurement, while simultaneously generating an output waveform. Pulse widths can vary from microseconds to seconds depending on the oscillator frequency selected. The 16-bit timer is also capable of generating periodic interrupts. See Figure 10-1.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA 16-Bit Timer For More Information On This Product, Go to: www.freescale.com
Advance Information 85
Freescale Semiconductor, Inc. 16-Bit Timer
INTERNAL HC05 BUS
OUTPUT COMPARE
BUFFER
PH2 CLOCK
INPUT CAPTURE
OCRH
OCRL
FREERUNNING COUNTER TMRH/ ACRH TMRL/ ACRL /4
ICRH
ICRL
Freescale Semiconductor, Inc...
COMPARE DETECTOR
OVERFLOW DETECTOR
EDGE DETECTOR
TCAP
R > R TIMER STATUS REGISTER OCF TOF ICF
R
TCMP
RESET
INTERRUPT GENERATOR
TIMER INTERRUPT
OCIE
TOIE
ICIE
IEDG
OLVL
TIMER CONTROL REGISTER
Figure 10-1. 16-Bit Timer Block Diagram
Advance Information 86 16-Bit Timer For More Information On This Product, Go to: www.freescale.com MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
16-Bit Timer Timer
Because the timer has a 16-bit architecture, each function is represented by two registers. Each register pair contains the high and low byte of that function. Generally, accessing the low byte of a specific timer function allows full control of that function; however, an access of the high byte inhibits that specific timer function until the low byte is also accessed.
NOTE:
The I bit in the condition code register (CCR) should be set while manipulating both the high and low byte registers of a specific timer function. This prevents interrupts from occurring between the time the high and low bytes are accessed.
Freescale Semiconductor, Inc...
10.3 Timer
The key element of the programmable timer is a 16-bit free-running counter, or timer registers, preceded by a prescaler which divides the PH2 clock by four. The prescaler gives the timer a resolution of 2.0 microseconds when a 4-MHz crystal is used. The counter is incremented to increasing values during the low portion of the PH2 clock cycle. The double byte free-running counter can be read from either of two locations: the timer registers (TMRH and TMRL) or the alternate counter registers (ACRH and ACRL). Both locations will contain identical values. A read sequence containing only a read of the LSB of the counter (TMRL/ACRL) will return the count value at the time of the read. If a read of the counter accesses the MSB first (TMRH/ACRH), it causes the LSB (TMRL/ACRL) to be transferred to a buffer. This buffer value remains fixed after the first MSB byte read, even if the MSB is read several times. The buffer is accessed when reading the counter LSB (TMRL/ACRL) and thus completes a read sequence of the total counter value. When reading either the timer or alternate counter registers, if the MSB is read, the LSB must also be read to complete the read sequence. See Figure 10-2 and Figure 10-3.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA 16-Bit Timer For More Information On This Product, Go to: www.freescale.com
Advance Information 87
Freescale Semiconductor, Inc. 16-Bit Timer
Register name and address: TMRH -- $0018 Bit 7 Read: Write: Reset: 1 1 1 1 1 1 1 1 TMRH7 6 TMRH6 5 TMRH5 4 TMRH4 3 TMRH3 2 TMRH2 1 TMRH1 Bit 0 TMRH0
Register name and address: TMRL -- $0019 Bit 7 6 TMRL6 5 TMRL5 4 TMRL4 3 TMRL3 2 TMRL2 1 TMRL1 Bit 0 TMRL0
Freescale Semiconductor, Inc...
Read: Write: Reset:
TMRL7
1
1
1
1
1
1
0
0
= Unimplemented
Figure 10-2. Timer Registers (TMRH/TMRL)
Register name and address: ACRH -- $001A Bit 7 Read: Write: Reset: 1 1 1 1 1 1 1 1 ACRH7 6 ACRH6 5 ACRH5 4 ACRH4 3 ACRH3 2 ACRH2 1 ACRH1 Bit 0 ACRH0
Register name and address: ACRL -- $001B Bit 7 Read: Write: Reset: 1 1 1 1 1 1 0 0 ACRL7 6 ACRL6 5 ACRL5 4 ACRL4 3 ACRL3 2 ACRL2 1 ACRL1 Bit 0 ACRL0
= Unimplemented
Figure 10-3. Alternate Counter Registers (ACRH/ACRL)
Advance Information 88 16-Bit Timer For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
16-Bit Timer Timer
The timer registers and alternate counter registers can be read at any time without affecting their value. However, the alternate counter registers differ from the timer registers in one respect: A read of the timer register most significant bit (MSB) can clear the timer overflow flag (TOF). Therefore, the alternate counter registers can be read at any time without the possibility of missing timer overflow interrupts due to clearing of the TOF. See Figure 10-4. The free-running counter is initialized to $FFFC during reset and is a read-only register. During power-on-reset (POR), the counter is initialized to $FFFC and begins counting after the oscillator startup delay. Because the counter is 16 bits preceded by a fixed divide-by-four prescaler, the value in the counter repeats every 262,144 PH2 clock cycles (524,288 oscillator cycles). When the free-running counter rolls over from $FFFF to $0000, the timer overflow flag bit (TOF) in register TSR is set. An interrupt can also be enabled when counter rollover occurs by setting the timer overflow interrupt enable bit (TOIE) in register TCR. See Figure 10-5.
Freescale Semiconductor, Inc...
PH2 CLOCK 16-BIT FREE-RUNNING COUNTER TIMER OVERFLOW FLAG (TOF) Note: The TOF bit is set at timer state T11 (transition of counter from $FFFF to $0000). It is cleared by reading the timer status register (TSR) during the high portion of the PH2 clock followed by reading the LSB of the counter register pair (TCRL).
$FFFE
$FFFF
$0000
$0001
$0002
Figure 10-4. State Timing Diagram for Timer Overflow
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA 16-Bit Timer For More Information On This Product, Go to: www.freescale.com
Advance Information 89
Freescale Semiconductor, Inc. 16-Bit Timer
PH2 CLOCK INTERNAL RESET 16-BIT FREE-RUNNING COUNTER RESET (EXTERNAL OR OTHER)
$FFFC
$FFFD
$FFFE
$FFFF
Freescale Semiconductor, Inc...
NOTE: The counter and control registers are the only 16-bit timer registers affected by reset.
Figure 10-5. State Timing Diagram for Timer Reset
10.4 Output Compare
The output compare function may be used to generate an output waveform and/or as an elapsed time indicator. All of the bits in the output compare register pair OCRH/OCRL are readable and writable and are not altered by the 16-bit timer's control logic. Reset does not affect the contents of these registers. If the output compare function is not utilized, its registers can be used for data storage. See Figure 10-6.
Register name and address: OCRH -- $0016 Bit 7 Read: Write: Reset: Register name and address: OCRL -- $0017 Bit 7 Read: Write: Reset: = Unimplemented Unaffected by reset OCRL7 6 OCRL6 5 OCRL5 4 OCRL4 3 OCRL3 2 OCRL2 1 OCRL1 Bit 0 OCRL0 Unaffected by reset OCRH7 6 OCRH6 5 OCRH5 4 OCRH4 3 OCRH3 2 OCRH2 1 OCRH1 Bit 0 OCRH0
Figure 10-6. Output Compare Registers (OCRH/OCRL)
Advance Information 90 16-Bit Timer For More Information On This Product, Go to: www.freescale.com MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
16-Bit Timer Output Compare
The contents of the output compare registers are compared with the contents of the free-running counter once every four PH2 clock cycles. If a match is found, the output compare flag bit (OCF) is set and the output level bit (OLVL) is clocked to the output latch. The values in the output compare registers and output level bit should be changed after each successful comparison to control an output waveform or to establish a new elapsed timeout. An interrupt can also accompany a successful output compare if the output compare interrupt enable bit (OCIE) is set.
Freescale Semiconductor, Inc...
After a CPU write cycle to the MSB of the output compare register pair (OCRH), the output compare function is inhibited until the least significant bit (LSB) (OCRL) is written. Both bytes must be written if the MSB is written. A write made only to the LSB will not inhibit the compare function. The free-running counter increments every four PH2 clock cycles. The minimum time required to update the output compare registers is a function of software rather than hardware. The output compare output level bit (OLVL) will be clocked to its output latch regardless of the state of the output compare flag bit (OCF). A valid output compare must occur before the OLVL bit is clocked to its output latch (TCMP). Since neither the output compare flag (OCF) nor the output compare registers are affected by reset, care must be exercised when initializing the output compare function. The following procedure is recommended: 1. Block interrupts by setting the I bit in the condition code register (CCR). 2. Write the MSB of the output compare register pair (OCRH) to inhibit further compares until the LSB is written. 3. Read the timer status register (TSR) to arm the output compare flag (OCF). 4. Write the LSB of the output compare register pair (OCRL) to enable the output compare function and to clear its flag (and interrupt). 5. Unblock interrupts by clearing the I bit in the CCR.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA 16-Bit Timer For More Information On This Product, Go to: www.freescale.com
Advance Information 91
Freescale Semiconductor, Inc. 16-Bit Timer
This procedure prevents the output compare flag bit (OCF) from being set between the time it is read and the time the output compare registers are updated. A software example is shown in Figure 10-7.
Freescale Semiconductor, Inc...
9B . . B6 BE B7 B6 BF .
. . XX XX 16 13 17 .
SEI . . LDA LDX STA LDA STX .
. . DATAH DATAL OCRH TSR OCRL .
BLOCK INTERRUPTS . . HI BYTE FOR COMPARE LO BYTE FOR COMPARE INHIBIT OUTPUT COMPARE ARM OCF BIT TO CLEAR READY FOR NEXT COMPARE .
Figure 10-7. Output Compare Software Initialization Example
10.5 Input Capture
Two 8-bit read-only registers (ICRH and ICRL) make up the 16-bit input capture. They are used to latch the value of the free-running counter after a defined transition is sensed by the input capture edge detector. See Figure 10-8.
NOTE:
The input capture edge detector contains a Schmitt trigger to improve noise immunity. The edge that triggers the counter transfer is defined by the input edge bit (IEDG) in register TCR. Reset does not affect the contents of the input capture registers. See Figure 10-10. The result obtained by an input capture will be one more than the value of the free-running counter on the rising edge of the PH2 clock preceding the external transition (see Figure 10-9). This delay is required for internal synchronization. Resolution is affected by the prescaler, allowing the free-running counter to increment once every four PH2 clock cycles.
Advance Information 92 16-Bit Timer For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
16-Bit Timer Input Capture
Register name and address: ICRH -- $0014 Bit 7 Read: Write: Reset: Register name and address: ICRL -- $0015 Bit 7 6 ICRL6 5 ICRL5 4 ICRL4 3 ICRL3 2 ICRL2 1 ICRL1 Bit 0 ICRL0 Unaffected by reset ICRH7 6 ICRH6 5 ICRH5 4 ICRH4 3 ICRH3 2 ICRH2 1 ICRH1 Bit 0 ICRH0
Freescale Semiconductor, Inc...
Read: Write: Reset:
ICRL7
Unaffected by reset = Unimplemented
Figure 10-8. Input Capture Registers (ICRH/ICRL) The contents of the free-running counter are transferred to the input capture registers on each proper signal transition regardless of the state of the input capture flag bit (ICF) in register TSR. The input capture registers always contain the free-running counter value which corresponds to the most recent input capture. After a read of the MSB of the input capture register pair (ICRH), counter transfers are inhibited until the LSB of the register pair (ICRL) is also read. This characteristic forces the minimum pulse period attainable to be determined by the time required to execute an input capture software routine in an application. Reading the LSB of the input capture register pair (ICRL) does not inhibit transfer of the free-running counter. Again, minimum pulse periods are ones which allow software to read the LSB of the register pair (ICRL) and perform needed operations. There is no conflict between reading the LSB (ICRL) and the free-running counter transfer, since they occur on opposite edges of the PH2 clock.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA 16-Bit Timer For More Information On This Product, Go to: www.freescale.com
Advance Information 93
Freescale Semiconductor, Inc. 16-Bit Timer
PH2 CLOCK
16-BIT FREE-RUNNING COUNTER TCAP PIN
$FFEB
$FFEC
$FFED
$FFEE
$FFEF
Freescale Semiconductor, Inc...
INPUT CAPTURE LATCH INPUT CAPTURE REGISTER INPUT CAPTURE FLAG
(SEE NOTE)
$????
$FFED
Note: If the input edge occurs in the shaded area from one T10 timer state to the other T10 timer state, the input capture flag is set during the next T11 timer state.
Figure 10-9. State Timing Diagram for Input Capture
10.6 Timer Control Register
The timer control (TCR) shown in Figure 10-10 and free-running counter (TMRH, TMRL, ACRH, and ACRL) registers are the only registers of the 16-bit timer affected by reset. The output compare port (TCMP) is forced low after reset and remains low until OLVL is set and a valid output compare occurs.
Address: $0012 Bit 7 Read: ICIE Write: Reset: 0 0 0 0 0 0 0 0 OCIE TOIE 6 5 4 0 3 0 2 0 IEDG OLVL 1 Bit 0
= Unimplemented
Figure 10-10. Timer Control Register (TCR)
Advance Information 94 16-Bit Timer For More Information On This Product, Go to: www.freescale.com MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
16-Bit Timer Timer Status Register
ICIE -- Input Capture Interrupt Enable Bit Bit 7, when set, enables input capture interrupts to the CPU. The interrupt will occur at the same time bit 7 (ICF) in the TSR register is set. OCIE --Output Compare Interrupt Enable Bit Bit 6, when set, enables output compare interrupts to the CPU. The interrupt will occur at the same time bit 6 (OCF) in the TSR register is set.
Freescale Semiconductor, Inc...
TOIE -- Timer Overflow Interrupt Enable Bit Bit 5, when set, enables timer overflow (rollover) interrupts to the CPU. The interrupt will occur at the same time bit 5 (TOF) in the TSR register is set. IEDG -- Input Capture Edge Select Bit Bit 1 selects which edge of the input capture signal will trigger a transfer of the contents of the free-running counter registers to the input capture registers. Clearing this bit will select the falling edge; setting it selects the rising edge. OLVL -- Output Compare Output Level Select Bit Bit 0 selects the output level (high or low) that is clocked into the output compare output latch at the next successful output compare.
10.7 Timer Status Register
Reading the timer status register (TSR) satisfies the first condition required to clear status flags and interrupts. See Figure 10-11. The only remaining step is to read (or write) the register associated with the active status flag (and/or interrupt). This method does not present any problems for input capture or output compare functions. However, a problem can occur when using a timer interrupt function and reading the free-running counter at random times to, for example, measure an elapsed time. If the proper precautions are not designed into
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA 16-Bit Timer For More Information On This Product, Go to: www.freescale.com
Advance Information 95
Freescale Semiconductor, Inc. 16-Bit Timer
the application software, a timer interrupt flag (TOF) could unintentionally be cleared if: 1. The TSR is read when bit 5 (TOF) is set. 2. The LSB of the free-running counter is read, but not for the purpose of servicing the flag or interrupt. The alternate counter registers (ACRH and ACRL) contain the same values as the timer registers (TMRH and TMRL). Registers ACRH and ACRL can be read at any time without affecting the timer overflow flag (TOF) or interrupt.
Address: $0013 Bit 7 Read: Write: Reset: U U U 0 U = Unaffected 0 0 0 0 ICF 6 OCF 5 TOF 4 0 3 0 2 0 1 0 Bit 0 0
Freescale Semiconductor, Inc...
= Unimplemented
Figure 10-11. Timer Status Register (TSR) ICF -- Input Capture Flag Bit 7 is set when the edge specified by IEDG in register TCR has been sensed by the input capture edge detector fed by pin TCAP. This flag and the input capture interrupt can be cleared by reading register TSR followed by reading the LSB of the input capture register pair (ICRL). OCF -- Output Compare Flag Bit 6 is set when the contents of the output compare registers match the contents of the free-running counter. This flag and the output compare interrupt can be cleared by reading register TSR followed by writing the LSB of the output compare register pair (OCRL). TOF -- Timer Overflow Flag Bit 5 is set by a rollover of the free-running counter from $FFFF to $0000. This flag and the timer overflow interrupt can be cleared by reading register TSR followed by reading the LSB of the timer register pair (TMRL).
Advance Information 96 16-Bit Timer For More Information On This Product, Go to: www.freescale.com MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
16-Bit Timer Timer Operation During Wait and Halt Modes
10.8 Timer Operation During Wait and Halt Modes
During wait and halt modes, the 16-bit timer continues to operate normally and may generate an interrupt to trigger the MCU out of wait and halt modes.
10.9 Timer Operation During Stop Mode
Freescale Semiconductor, Inc...
When the MCU enters stop mode, the free-running counter stops counting (the PH2 clock is stopped). It remains at that particular count value until the stop mode is exited by applying a low signal to the IRQ pin, at which time the counter resumes from its stopped value as if nothing had happened. If stop mode is exited via an external RESET (logic low applied to the RESET pin), the counter is forced to $FFFC. If a valid input capture edge occurs at the TCAP pin during stop mode, the input capture detect circuitry will be armed. This action does not set any flags or "wake up" the MCU, but when the MCU does "wake up" there will be an active input capture flag (and data) from the first valid edge. If stop mode is exited by an external RESET, no input capture flag or data will be present even if a valid input capture edge was detected during stop mode.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA 16-Bit Timer For More Information On This Product, Go to: www.freescale.com
Advance Information 97
Freescale Semiconductor, Inc. 16-Bit Timer
Freescale Semiconductor, Inc...
Advance Information 98 16-Bit Timer For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Advance Information -- MC68HC05P18/MC68HC805P18
Section 11. Serial Input/Output Port (SIOP)
11.1 Contents
11.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99
Freescale Semiconductor, Inc...
11.3 SIOP Signal Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100 11.3.1 Serial Clock (SCK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100 11.3.2 Serial Data Input (SDI) . . . . . . . . . . . . . . . . . . . . . . . . . . . .101 11.3.3 Serial Data Output (SDO). . . . . . . . . . . . . . . . . . . . . . . . . .102 11.4 SIOP Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102 11.4.1 SIOP Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . .102 11.4.2 SIOP Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104 11.4.3 SIOP Data Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105
11.2 Introduction
The simple synchronous serial input/output port (SIOP) subsystem is designed to provide efficient serial communications between peripheral devices or other MCUs. The SIOP is implemented as a 3-wire master/slave system with serial clock (SCK), serial data Input (SDI), and serial data output (SDO). A block diagram of the SIOP is shown in Figure 11-1. The SIOP subsystem shares its input/output pins with port B. When the SIOP is enabled (SPE bit set in register SCR), port B data direction registers (DDR) and data registers are modified by the SIOP. Although port B DDR and data registers can be altered by application software, these actions could affect the transmitted or received data.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Serial Input/Output Port (SIOP) For More Information On This Product, Go to: www.freescale.com
Advance Information 99
Freescale Semiconductor, Inc. Serial Input/Output Port (SIOP)
HCO5 INTERNAL BUS
SPE
76543210 BAUD CONTROL RATE GENERATOR
76543210 STATUS REGISTER $0B
76543210 8-BIT SHIFT REGISTER $0C SDI SDO I/O CONTROL LOGIC SDI/PB6 SDO/PB5
Freescale Semiconductor, Inc...
REGISTER $0A
SCK PH2 CLOCK
SCK/PB7
Figure 11-1. SIOP Block Diagram
11.3 SIOP Signal Format
The SIOP subsystem is software configurable for master or slave operation. No external mode selection inputs are available (such as the slave select pin).
11.3.1 Serial Clock (SCK) The state of the serial clock (SCK) output normally remains a logic 1 during idle periods between data transfers. The first falling edge of SCK signals the beginning of a data transfer. At this time, the first bit of received data is accepted at the SDI pin and the first bit of transmitted data is presented at the SDO pin (see Figure 11-2). Data is captured at the SDI pin on the rising edge of SCK, and the first bit of transmitted data is presented at the SDO pin. The transfer is terminated upon the eighth rising edge of SCK.
Advance Information 100 Serial Input/Output Port (SIOP) For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Serial Input/Output Port (SIOP) SIOP Signal Format
BIT 0 SDO
BIT 1
BIT 2
BIT 3
BIT 4
BIT 5
BIT 6
BIT 7
SCK 100 ns SDI BIT 0 BIT 1 BIT 2 BIT 3 BIT 4 BIT 5 BIT 6 BIT 7 100 ns
Figure 11-2. SIOP Timing Diagram
Freescale Semiconductor, Inc...
The master and slave modes of operation differ only by the sourcing of SCK. In master mode, SCK is driven from an internal source within the MCU. In slave mode, SCK is driven from a source external to the MCU. The SCK frequency is programmable via the mask option register 1 (MOR1). Available rates are OSC divided by 2, 4, 8, or 16.
NOTE:
OSC divided by 2 is four times faster than the standard rate available on the 68HC05P6. Refer to 8.5 Mask Option Registers for a description of available mask option registers.
11.3.2 Serial Data Input (SDI) The SDI pin becomes an input as soon as the SIOP subsystem is enabled. New data is presented to the SDI pin on the falling edge of SCK. Valid data must be present at least 100 nanoseconds before the rising edge of SCK and remain valid for 100 nanoseconds after the rising edge of SCK. See Figure 11-2.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Serial Input/Output Port (SIOP) For More Information On This Product, Go to: www.freescale.com
Advance Information 101
Freescale Semiconductor, Inc. Serial Input/Output Port (SIOP)
11.3.3 Serial Data Output (SDO) The SDO pin becomes an output as soon as the SIOP subsystem is enabled. Prior to enabling the SIOP, PB5 can be initialized to determine the beginning state. While the SIOP is enabled, PB5 cannot be used as a standard output since that pin is connected to the last stage of the SIOP serial shift register. The data can be transmitted in either MSB first format or the LSB format by programming the MOR1. On the first falling edge of SCK, the first data bit will be shifted out to the SDO pin. The remaining data bits will be shifted out to the SDI pin on subsequent falling edges of SCK. The SDO pin will present valid data at least 100 nanoseconds before the rising edge of the SCK and remain valid for 100 nanoseconds after the rising edge of SCK. See Figure 11-2.
Freescale Semiconductor, Inc...
11.4 SIOP Registers
The SIOP is programmed and controlled by the SIOP control register (SCR) located at address $000A, the SIOP status register (SSR) located at address $000B, and the SIOP data register (SDR) located at address $000C.
11.4.1 SIOP Control Register This register is located at address $000A and contains two bits. Figure 11-3 shows the position of each bit in the register and indicates the value of each bit after reset.
Address: $000A BIt 7 Read: Write: Reset: 0 0 0 0 0 0 0 0 0 SPE 6 5 0 MSTR 4 3 0 2 0 1 0 Bit 0 0
= Unimplemented
Figure 11-3. SIOP Control Register (SCR)
Advance Information 102 Serial Input/Output Port (SIOP) For More Information On This Product, Go to: www.freescale.com MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Serial Input/Output Port (SIOP) SIOP Registers
SPE -- Serial Peripheral Enable Bit When set, the SPE bit enables the SIOP subsystem such that SDO/PB5 is the serial data output, SDI/PB6 is the serial data input, and SCK/PB7 is a serial clock input in slave mode or a serial clock output in master mode. Port B DDR and data registers can be manipulated as usual (except for PB5); however, these actions could affect the transmitted or received data. The SPE bit is readable and writable at any time. Clearing the SPE bit while a transmission is in progress will:
Freescale Semiconductor, Inc...
1. Abort the transmission 2. Reset the serial bit counter 3. Convert the port B/SIOP port to a general-purpose I/O port Reset clears the SPE bit. MSTR -- Master Mode Select Bit When set, the MSTR bit configures the serial I/O port for master mode. A transfer is initiated by writing to the SDR. Also, the SCK pin becomes an output providing a synchronous data clock dependent upon the oscillator frequency. When the device is in slave mode, the SDO and SDI pins do not change function. These pins behave exactly the same in both the master and slave modes. The MSTR bit is readable and writable at any time regardless of the state of the SPE bit. Clearing the MSTR bit will abort any transfers that may have been in progress. Reset clears the MSTR bit, placing the SIOP subsystem in slave mode.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Serial Input/Output Port (SIOP) For More Information On This Product, Go to: www.freescale.com
Advance Information 103
Freescale Semiconductor, Inc. Serial Input/Output Port (SIOP)
11.4.2 SIOP Status Register This register is located at address $000B and contains two bits. Figure 11-4 shows the position of each bit in the register and indicates the value of each bit after reset.
Address: $000B BIt 7 Read: SPIF 6 DCOL 5 0 4 0 3 0 2 0 1 0 Bit 0 0
Freescale Semiconductor, Inc...
Write: Reset: 0 0 0 0 0 0 0 0
= Unimplemented
Figure 11-4. SIOP Status Register (SSR) SPIF -- Serial Port Interface Flag SPIF is a read-only status bit that is set on the last rising edge of SCK and indicates that a data transfer has been completed. It has no effect on any future data transfers and can be ignored. The SPIF bit is cleared by reading the SSR followed by a read or write of the SDR. If the SPIF is cleared before the last rising edge of SCK, it will be set again on the last rising edge of SCK. Reset clears the SPIF bit. DCOL -- Data Collision Bit DCOL is a read-only status bit which indicates that an illegal access of the SDR has occurred. The DCOL bit will be set when reading or writing the SDR after the first falling edge of SCK and before SPIF is set. Reading or writing the SDR during this time will result in invalid data being transmitted or received. The DCOL bit is cleared by reading the SSR (when the SPIF bit is set) followed by a read or write of the SDR. If the last part of the clearing sequence is done after another transfer has started, the DCOL bit will be set again. Reset clears the DCOL bit.
Advance Information 104 Serial Input/Output Port (SIOP) For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Serial Input/Output Port (SIOP) SIOP Registers
11.4.3 SIOP Data Register This register is located at address $000C and serves as both the transmit and receive data register. Writing to this register will initiate a message transmission if the SIOP is in master mode. The SIOP subsystem is not double buffered and any write to this register will destroy the previous contents. The SDR can be read at any time; however, if a transfer is in progress, the results may be ambiguous and the DCOL bit will be set. Writing to the SDR while a transfer is in progress can cause invalid data to be transmitted and/or received. Figure 11-5 shows the position of each bit in the register. This register is not affected by reset.
Address: $000C BIt 7 Read: SD7 Write: Reset: Unaffected by reset SD6 SD5 SD4 SD3 SD2 SD1 SD0 6 5 4 3 2 1 Bit 0
Freescale Semiconductor, Inc...
Figure 11-5. SIOP Data Register (SDR)
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Serial Input/Output Port (SIOP) For More Information On This Product, Go to: www.freescale.com
Advance Information 105
Freescale Semiconductor, Inc. Serial Input/Output Port (SIOP)
Freescale Semiconductor, Inc...
Advance Information 106 Serial Input/Output Port (SIOP) For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Advance Information -- MC68HC05P18/MC68HC805P18
Section 12. Instruction Set
12.1 Contents
12.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107
Freescale Semiconductor, Inc...
12.3 Addressing Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108 12.3.1 Inherent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108 12.3.2 Immediate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108 12.3.3 Direct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 12.3.4 Extended . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 12.3.5 Indexed, No Offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 12.3.6 Indexed, 8-Bit Offset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 12.3.7 Indexed, 16-Bit Offset. . . . . . . . . . . . . . . . . . . . . . . . . . . . .110 12.3.8 Relative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110 12.4 Instruction Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111 12.4.1 Register/Memory Instructions. . . . . . . . . . . . . . . . . . . . . . .111 12.4.2 Read-Modify-Write Instructions . . . . . . . . . . . . . . . . . . . . .112 12.4.3 Jump/Branch Instructions. . . . . . . . . . . . . . . . . . . . . . . . . .112 12.4.4 Bit Manipulation Instructions . . . . . . . . . . . . . . . . . . . . . . .114 12.4.5 Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114 12.5 12.6 Instruction Set Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . .115 Opcode Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121
12.2 Introduction
This section describes the addressing modes and instruction types.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Instruction Set For More Information On This Product, Go to: www.freescale.com
Advance Information 107
Freescale Semiconductor, Inc. Instruction Set 12.3 Addressing Modes
The CPU uses eight addressing modes for flexibility in accessing data. The addressing modes define the manner in which the CPU finds the data required to execute an instruction. The eight addressing modes are: * * Inherent Immediate Direct Extended Indexed, no offset Indexed, 8-bit offset Indexed, 16-bit offset Relative
Freescale Semiconductor, Inc...
* * * * * *
12.3.1 Inherent Inherent instructions are those that have no operand, such as return from interrupt (RTI) and stop (STOP). Some of the inherent instructions act on data in the CPU registers, such as set carry flag (SEC) and increment accumulator (INCA). Inherent instructions require no memory address and are one byte long.
12.3.2 Immediate Immediate instructions are those that contain a value to be used in an operation with the value in the accumulator or index register. Immediate instructions require no memory address and are two bytes long. The opcode is the first byte, and the immediate data value is the second byte.
Advance Information 108 Instruction Set For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Instruction Set Addressing Modes
12.3.3 Direct Direct instructions can access any of the first 256 memory addresses with two bytes. The first byte is the opcode, and the second is the low byte of the operand address. In direct addressing, the CPU automatically uses $00 as the high byte of the operand address. BRSET and BRCLR are 3-byte instructions that use direct addressing to access the operand and relative addressing to specify a branch destination.
Freescale Semiconductor, Inc...
12.3.4 Extended Extended instructions use only three bytes to access any address in memory. The first byte is the opcode; the second and third bytes are the high and low bytes of the operand address. When using the Motorola assembler, the programmer does not need to specify whether an instruction is direct or extended. The assembler automatically selects the shortest form of the instruction.
12.3.5 Indexed, No Offset Indexed instructions with no offset are 1-byte instructions that can access data with variable addresses within the first 256 memory locations. The index register contains the low byte of the conditional address of the operand. The CPU automatically uses $00 as the high byte, so these instructions can address locations $0000-$00FF. Indexed, no offset instructions are often used to move a pointer through a table or to hold the address of a frequently used RAM or I/O location.
12.3.6 Indexed, 8-Bit Offset Indexed, 8-bit offset instructions are 2-byte instructions that can access data with variable addresses within the first 511 memory locations. The CPU adds the unsigned byte in the index register to the unsigned byte following the opcode. The sum is the conditional address of the operand. These instructions can access locations $0000-$01FE.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Instruction Set For More Information On This Product, Go to: www.freescale.com
Advance Information 109
Freescale Semiconductor, Inc. Instruction Set
Indexed 8-bit offset instructions are useful for selecting the kth element in an n-element table. The table can begin anywhere within the first 256 memory locations and could extend as far as location 510 ($01FE). The k value is typically in the index register, and the address of the beginning of the table is in the byte following the opcode.
12.3.7 Indexed, 16-Bit Offset Indexed, 16-bit offset instructions are 3-byte instructions that can access data with variable addresses at any location in memory. The CPU adds the unsigned byte in the index register to the two unsigned bytes following the opcode. The sum is the conditional address of the operand. The first byte after the opcode is the high byte of the 16-bit offset; the second byte is the low byte of the offset. These instructions can address any location in memory. Indexed, 16-bit offset instructions are useful for selecting the kth element in an n-element table anywhere in memory. As with direct and extended addressing, the Motorola assembler determines the shortest form of indexed addressing.
Freescale Semiconductor, Inc...
12.3.8 Relative Relative addressing is only for branch instructions. If the branch condition is true, the CPU finds the conditional branch destination by adding the signed byte following the opcode to the contents of the program counter. If the branch condition is not true, the CPU goes to the next instruction. The offset is a signed, two's complement byte that gives a branching range of -128 to +127 bytes from the address of the next location after the branch instruction. When using the Motorola assembler, the programmer does not need to calculate the offset because the assembler determines the proper offset and verifies that it is within the span of the branch.
Advance Information 110 Instruction Set For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Instruction Set Instruction Types
12.4 Instruction Types
The MCU instructions fall into five categories: * * * * * Register/memory instructions Read-modify-write instructions Jump/Branch instructions Bit manipulation instructions Control instructions
Freescale Semiconductor, Inc...
12.4.1 Register/Memory Instructions Most of these instructions use two operands. One operand is in either the accumulator or the index register. The CPU finds the other operand in memory. Table 12-1 lists the register/memory instructions. Table 12-1. Register/Memory Instructions
Instruction
Add memory byte and carry bit to accumulator Add memory byte to accumulator AND memory byte with accumulator Bit test accumulator Compare accumulator Compare index register with memory byte EXCLUSIVE OR accumulator with memory byte Load accumulator with memory byte Load index register with memory byte Multiply OR accumulator with memory byte Subtract memory byte and carry bit from accumulator Store accumulator in memory Store index register in memory Subtract memory byte from accumulator
Mnemonic
ADC ADD AND BIT CMP CPX EOR LDA LDX MUL ORA SBC STA STX SUB
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Instruction Set For More Information On This Product, Go to: www.freescale.com
Advance Information 111
Freescale Semiconductor, Inc. Instruction Set
12.4.2 Read-Modify-Write Instructions These instructions read a memory location or a register, modify its contents, and write the modified value back to the memory location or to the register. The test for negative or zero instruction (TST) is an exception to the read-modify-write sequence because it does not write a replacement value. Table 12-2 lists the read-modify-write instructions. Table 12-2. Read-Modify-Write Instructions
Instruction Mnemonic
ASL ASR BCLR BSET CLR COM DEC INC LSL LSR NEG ROL ROR TST
Freescale Semiconductor, Inc...
Arithmetic shift left Arithmetic shift right Clear bit in memory Set bit in memory Clear Complement (one's complement) Decrement Increment Logical shift left Logical shift right Negate (two's complement) Rotate left through carry bit Rotate right through carry bit Test for negative or zero
12.4.3 Jump/Branch Instructions Jump instructions allow the CPU to interrupt the normal sequence of the program counter. The unconditional jump instruction (JMP) and the jump- to-subroutine instruction (JSR) have no register operand. Branch instructions allow the CPU to interrupt the normal sequence of the program counter when a test condition is met. If the test condition is not met, the branch is not performed. All branch instructions use relative addressing. Bit test and branch instructions cause a branch based on the state of any readable bit in the first 256 memory locations. These 3-byte instructions
Advance Information 112 Instruction Set For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Instruction Set Instruction Types
use a combination of direct addressing and relative addressing. The direct address of the byte to be tested is in the byte following the opcode. The third byte is the signed offset byte. The CPU finds the conditional branch destination by adding the third byte to the program counter if the specified bit tests true. The bit to be tested and its condition (set or clear) is part of the opcode. The span of branching is from -128 to +127 from the address of the next location after the branch instruction. The CPU also transfers the tested bit to the carry/borrow bit of the condition code register. Table 12-3 lists the jump and branch instructions.
Freescale Semiconductor, Inc...
Table 12-3. Jump and Branch Instructions
Instruction
Branch if carry bit clear Branch if carry bit set Branch if equal Branch if half-carry bit clear Branch if half-carry bit set Branch if higher Branch if higher or same Branch if IRQ pin high Branch if IRQ pin low Branch if lower Branch if lower or same Branch if interrupt mask clear Branch if minus Branch if interrupt mask set Branch if not equal Branch if plus Branch always Branch if bit clear Branch never Branch if bit set Branch to subroutine Unconditional jump Jump to subroutine
Mnemonic
BCC BCS BEQ BHCC BHCS BHI BHS BIH BIL BLO BLS BMC BMI BMS BNE BPL BRA BRCLR BRN BRSET BSR JMP JSR
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Instruction Set For More Information On This Product, Go to: www.freescale.com
Advance Information 113
Freescale Semiconductor, Inc. Instruction Set
12.4.4 Bit Manipulation Instructions The CPU can set or clear any writable bit in the first 256 bytes of memory. Port registers, port data direction registers, timer registers, and on-chip RAM locations are in the first 256 bytes of memory. The CPU can also test and branch based on the state of any bit in any of the first 256 memory locations. Bit manipulation instructions use direct addressing. Table 12-4 lists these instructions. Table 12-4. Bit Manipulation Instructions
Freescale Semiconductor, Inc...
Instruction
Clear bit Branch if bit clear Branch if bit set Set bit
Mnemonic
BCLR BRCLR BRSET BSET
12.4.5 Control Instructions These register reference instructions control CPU operation during program execution. Control instructions, listed in Table 12-5, use inherent addressing. Table 12-5. Control Instructions
Instruction
Clear carry bit Clear interrupt mask No operation Reset stack pointer Return from interrupt Return from subroutine Set carry bit Set interrupt mask Stop oscillator and enable IRQ pin Software interrupt Transfer accumulator to index register Transfer index register to accumulator Stop CPU clock and enable interrupts
Mnemonic
CLC CLI NOP RSP RTI RTS SEC SEI STOP SWI TAX TXA WAIT
Advance Information 114 Instruction Set For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Instruction Set Instruction Set Summary
12.5 Instruction Set Summary
Table 12-6 is an alphabetical list of all M68HC05 instructions and shows the effect of each instruction on the condition code register. Table 12-6. Instruction Set Summary (Sheet 1 of 7)
Source Form Operation Description Cycles
2 3 4 5 4 3 2 3 4 5 4 3 2 3 4 5 4 3 5 3 3 6 5 5 3 3 6 5 3
Effect on CCR HINZC
Freescale Semiconductor, Inc...
ADC #opr ADC opr ADC opr ADC opr,X ADC opr,X ADC ,X ADD #opr ADD opr ADD opr ADD opr,X ADD opr,X ADD ,X AND #opr AND opr AND opr AND opr,X AND opr,X AND ,X ASL opr ASLA ASLX ASL opr,X ASL ,X ASR opr ASRA ASRX ASR opr,X ASR ,X BCC rel
Add with Carry
A (A) + (M) + (C)
--
IMM DIR EXT IX2 IX1 IX IMM DIR EXT IX2 IX1 IX IMM DIR EXT IX2 IX1 IX DIR INH INH IX1 IX DIR INH INH IX1 IX REL
ii A9 B9 dd C9 hh ll D9 ee ff ff E9 F9 ii AB BB dd CB hh ll DB ee ff ff EB FB ii A4 B4 dd C4 hh ll D4 ee ff ff E4 F4 38 48 58 68 78 37 47 57 67 77 24 dd
Add without Carry
A (A) + (M)
--
Logical AND
A (A) (M)
----
--
Arithmetic Shift Left (Same as LSL)
C b7 b0
0
----
dd
Arithmetic Shift Right
b7 b0
C
----
Branch if Carry Bit Clear
PC (PC) + 2 + rel ? C = 0
----------
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Instruction Set For More Information On This Product, Go to: www.freescale.com
Advance Information 115
Operand
ff ff rr
Address Mode
Opcode
Freescale Semiconductor, Inc. Instruction Set
Table 12-6. Instruction Set Summary (Sheet 2 of 7)
Source Form Operation Description Cycles
5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 2 3 4 5 4 3 3 3 3 3 3 3 3 3
Effect on CCR HINZC
BCLR n opr
Clear Bit n
Mn 0
Freescale Semiconductor, Inc...
DIR (b0) DIR (b1) DIR (b2) DIR (b3) ---------- DIR (b4) DIR (b5) DIR (b6) DIR (b7) ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- REL REL REL REL REL REL REL REL IMM DIR EXT IX2 IX1 IX REL REL REL REL REL REL REL REL
11 13 15 17 19 1B 1D 1F 25 27 28 29 22 24 2F 2E
dd dd dd dd dd dd dd dd rr rr rr rr rr rr rr rr
BCS rel BEQ rel BHCC rel BHCS rel BHI rel BHS rel BIH rel BIL rel BIT #opr BIT opr BIT opr BIT opr,X BIT opr,X BIT ,X BLO rel BLS rel BMC rel BMI rel BMS rel BNE rel BPL rel BRA rel
Branch if Carry Bit Set (Same as BLO) Branch if Equal Branch if Half-Carry Bit Clear Branch if Half-Carry Bit Set Branch if Higher Branch if Higher or Same Branch if IRQ Pin High Branch if IRQ Pin Low
PC (PC) + 2 + rel ? C = 1 PC (PC) + 2 + rel ? Z = 1 PC (PC) + 2 + rel ? H = 0 PC (PC) + 2 + rel ? H = 1 PC (PC) + 2 + rel ? C Z = 0 PC (PC) + 2 + rel ? C = 0 PC (PC) + 2 + rel ? IRQ = 1 PC (PC) + 2 + rel ? IRQ = 0
Bit Test Accumulator with Memory Byte
(A) (M)
----
--
ii A5 B5 dd C5 hh ll D5 ee ff ff E5 p F5 25 23 2C 2B 2D 26 2A 20 rr rr rr rr rr rr rr rr
Branch if Lower (Same as BCS) Branch if Lower or Same Branch if Interrupt Mask Clear Branch if Minus Branch if Interrupt Mask Set Branch if Not Equal Branch if Plus Branch Always
PC (PC) + 2 + rel ? C = 1 PC (PC) + 2 + rel ? C Z = 1 PC (PC) + 2 + rel ? I = 0 PC (PC) + 2 + rel ? N = 1 PC (PC) + 2 + rel ? I = 1 PC (PC) + 2 + rel ? Z = 0 PC (PC) + 2 + rel ? N = 0 PC (PC) + 2 + rel ? 1 = 1
---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
Advance Information 116 Instruction Set For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Operand
Address Mode
Opcode
Freescale Semiconductor, Inc.
Instruction Set Instruction Set Summary
Table 12-6. Instruction Set Summary (Sheet 3 of 7)
Source Form Operation Description Cycles
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 5 5 5 5 5 5 5 5 6 2 2 dd 5 3 3 6 5 2 3 4 5 4 3
Effect on CCR HINZC
BRCLR n opr rel
Branch if bit n clear
PC (PC) + 2 + rel ? Mn = 0
Freescale Semiconductor, Inc...
DIR (b0) DIR (b1) DIR (b2) DIR (b3) -------- DIR (b4) DIR (b5) DIR (b6) DIR (b7) DIR (b0) DIR (b1) DIR (b2) DIR (b3) -------- DIR (b4) DIR (b5) DIR (b6) DIR (b7) ---------- REL
01 03 05 07 09 0B 0D 0F 00 02 04 06 08 0A 0C 0E 21 10 12 14 16 18 1A 1C 1E
dd rr dd rr dd rr dd rr dd rr dd rr dd rr dd rr dd rr dd rr dd rr dd rr dd rr dd rr dd rr dd rr rr dd dd dd dd dd dd dd dd
BRSET n opr rel
Branch if Bit n Set
PC (PC) + 2 + rel ? Mn = 1
BRN rel
Branch Never
PC (PC) + 2 + rel ? 1 = 0
BSET n opr
Set Bit n
Mn 1
DIR (b0) DIR (b1) DIR (b2) DIR (b3) ---------- DIR (b4) DIR (b5) DIR (b6) DIR (b7)
BSR rel
Branch to Subroutine Clear Carry Bit Clear Interrupt Mask
PC (PC) + 2; push (PCL) SP (SP) - 1; push (PCH) SP (SP) - 1 PC (PC) + rel C0 I0 M $00 A $00 X $00 M $00 M $00
----------
REL
AD
CLC CLI CLR opr CLRA CLRX CLR opr,X CLR ,X CMP #opr CMP opr CMP opr CMP opr,X CMP opr,X CMP ,X
-------- 0 -- 0 ------
INH INH DIR INH INH IX1 IX IMM DIR EXT IX2 IX1 IX
98 9A 3F 4F 5F 6F 7F
Clear Byte
---- 0
1--
Compare Accumulator with Memory Byte
(A) - (M)
----
ii A1 B1 dd C1 hh ll D1 ee ff ff E1 F1
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Instruction Set For More Information On This Product, Go to: www.freescale.com
Advance Information 117
Operand
rr ff
Address Mode
Opcode
Freescale Semiconductor, Inc. Instruction Set
Table 12-6. Instruction Set Summary (Sheet 4 of 7)
Source Form
COM opr COMA COMX COM opr,X COM ,X CPX #opr CPX opr CPX opr CPX opr,X CPX opr,X CPX ,X DEC opr DECA DECX DEC opr,X DEC ,X EOR #opr EOR opr EOR opr EOR opr,X EOR opr,X EOR ,X
Operation
Description
M (M) = $FF - (M) A (A) = $FF - (M) X (X) = $FF - (M) M (M) = $FF - (M) M (M) = $FF - (M)
HINZC
Complement Byte (One's Complement)
----
1
DIR INH INH IX1 IX IMM DIR EXT IX2 IX1 IX DIR INH INH IX1 IX IMM DIR EXT IX2 IX1 IX DIR INH INH IX1 IX DIR EXT IX2 IX1 IX DIR EXT IX2 IX1 IX IMM DIR EXT IX2 IX1 IX
33 43 53 63 73
dd
ff
Freescale Semiconductor, Inc...
Compare Index Register with Memory Byte
(X) - (M)
----
1
ii A3 B3 dd C3 hh ll D3 ee ff ff E3 F3 3A 4A 5A 6A 7A dd
Decrement Byte
M (M) - 1 A (A) - 1 X (X) - 1 M (M) - 1 M (M) - 1
----
--
ff
EXCLUSIVE OR Accumulator with Memory Byte
A (A) (M)
----
--
ii A8 B8 dd C8 hh ll D8 ee ff ff E8 F8 3C 4C 5C 6C 7C dd
INC opr INCA INCX INC opr,X INC ,X JMP opr JMP opr JMP opr,X JMP opr,X JMP ,X JSR opr JSR opr JSR opr,X JSR opr,X JSR ,X LDA #opr LDA opr LDA opr LDA opr,X LDA opr,X LDA ,X
Increment Byte
M (M) + 1 A (A) + 1 X (X) + 1 M (M) + 1 M (M) + 1
----
--
ff
Unconditional Jump
PC Jump Address
----------
BC dd CC hh ll DC ee ff EC ff FC BD dd CD hh ll DD ee ff ED ff FD ii A6 B6 dd C6 hh ll D6 ee ff ff E6 F6
Jump to Subroutine
PC (PC) + n (n = 1, 2, or 3) Push (PCL); SP (SP) - 1 Push (PCH); SP (SP) - 1 PC Conditional Address
----------
Load Accumulator with Memory Byte
A (M)
----
--
Advance Information 118 Instruction Set For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Cycles
5 3 3 6 5 2 3 4 5 4 3 5 3 3 6 5 2 3 4 5 4 3 5 3 3 6 5 2 3 4 3 2 5 6 7 6 5 2 3 4 5 4 3
Effect on CCR
Operand
Address Mode
Opcode
Freescale Semiconductor, Inc.
Instruction Set Instruction Set Summary
Table 12-6. Instruction Set Summary (Sheet 5 of 7)
Source Form LDX #opr LDX opr LDX opr LDX opr,X LDX opr,X LDX ,X Operation Description Cycles
2 3 4 5 4 3 5 3 3 6 5 5 3 3 6 5 11 ii 5 3 3 6 5 2 2 3 4 5 4 3 5 3 3 6 5 5 3 3 6 5 2
Effect on CCR HINZC
Load Index Register with Memory Byte
X (M)
----
--
IMM DIR EXT IX2 IX1 IX DIR INH INH IX1 IX DIR INH INH IX1 IX INH DIR INH INH IX1 IX INH IMM DIR EXT IX2 IX1 IX DIR INH INH IX1 IX DIR INH INH IX1 IX INH
ii AE BE dd CE hh ll DE ee ff ff EE FE 38 48 58 68 78 34 44 54 64 74 42 30 40 50 60 70 9D ii AA BA dd CA hh ll DA ee ff ff EA FA 39 49 59 69 79 36 46 56 66 76 9C dd dd
Freescale Semiconductor, Inc...
LSL opr LSLA LSLX LSL opr,X LSL ,X LSR opr LSRA LSRX LSR opr,X LSR ,X MUL NEG opr NEGA NEGX NEG opr,X NEG ,X NOP
ORA #opr ORA opr ORA opr ORA opr,X ORA opr,X ORA ,X ROL opr ROLA ROLX ROL opr,X ROL ,X ROR opr RORA RORX ROR opr,X ROR ,X RSP
Logical Shift Left (Same as ASL)
C b7 b0
0
----
dd
Logical Shift Right
0 b7 b0
C
---- 0
Unsigned Multiply
X : A (X) x (A) M -(M) = $00 - (M) A -(A) = $00 - (A) X -(X) = $00 - (X) M -(M) = $00 - (M) M -(M) = $00 - (M)
0 ------ 0
Negate Byte (Two's Complement)
----
No Operation
----------
Logical OR Accumulator with Memory
A (A) (M)
----
--
Rotate Byte Left through Carry Bit
C b7 b0
----
dd
Rotate Byte Right through Carry Bit
C b7 b0
----
Reset Stack Pointer
SP $00FF
----------
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Instruction Set For More Information On This Product, Go to: www.freescale.com
Advance Information 119
Operand
ff ff ff ff ff
Address Mode
Opcode
Freescale Semiconductor, Inc. Instruction Set
Table 12-6. Instruction Set Summary (Sheet 6 of 7)
Source Form Operation Description
SP (SP) + 1; Pull (CCR) SP (SP) + 1; Pull (A) SP (SP) + 1; Pull (X) SP (SP) + 1; Pull (PCH) SP (SP) + 1; Pull (PCL) SP (SP) + 1; Pull (PCH) SP (SP) + 1; Pull (PCL)
HINZC
RTI
Return from Interrupt

INH
80
RTS
Return from Subroutine
INH IMM DIR EXT IX2 IX1 IX INH INH DIR EXT IX2 IX1 IX INH DIR EXT IX2 IX1 IX IMM DIR EXT IX2 IX1 IX ii A2 B2 dd C2 hh ll D2 ee ff ff E2 F2 99 9B B7 dd C7 hh ll D7 ee ff ff E7 F7 8E BF dd CF hh ll DF ee ff ff EF FF ii A0 B0 dd C0 hh ll D0 ee ff ff E0 F0 2 3 4 5 4 3 2 2 4 5 6 5 4 2 4 5 6 5 4 2 3 4 5 4 3
Freescale Semiconductor, Inc...
SBC #opr SBC opr SBC opr SBC opr,X SBC opr,X SBC ,X SEC SEI STA opr STA opr STA opr,X STA opr,X STA ,X STOP STX opr STX opr STX opr,X STX opr,X STX ,X SUB #opr SUB opr SUB opr SUB opr,X SUB opr,X SUB ,X
Subtract Memory Byte and Carry Bit from Accumulator
A (A) - (M) - (C)
----
Set Carry Bit Set Interrupt Mask
C1 I1
-------- 1 -- 1 ------
Store Accumulator in Memory
M (A)
----
--
Stop Oscillator and Enable IRQ Pin
-- 0 ------
Store Index Register In Memory
M (X)
----
--
Subtract Memory Byte from Accumulator
A (A) - (M)
----
SWI
Software Interrupt
PC (PC) + 1; Push (PCL) SP (SP) - 1; Push (PCH) SP (SP) - 1; Push (X) SP (SP) - 1; Push (A) SP (SP) - 1; Push (CCR) SP (SP) - 1; I 1 PCH Interrupt Vector High Byte PCL Interrupt Vector Low Byte
-- 1 ------
INH
83
10
Advance Information 120 Instruction Set For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Cycles
6
Effect on CCR
Operand
Address Mode
Opcode
Freescale Semiconductor, Inc.
Instruction Set Opcode Map
Table 12-6. Instruction Set Summary (Sheet 7 of 7)
Source Form Operation
Transfer Accumulator to Index Register
Description
HINZC
X (A) ----------
TAX TST opr TSTA TSTX TST opr,X TST ,X TXA
INH DIR INH INH IX1 IX INH
97 3D 4D 5D 6D 7D 9F dd
Test Memory Byte for Negative or Zero
(M) - $00
----------
ff
Freescale Semiconductor, Inc...
Transfer Index Register to Accumulator Stop CPU Clock and Enable Interrupts
A (X)
----------
WAIT
A C CCR dd dd rr DIR ee ff EXT ff H hh ll I ii IMM INH IX IX1 IX2 M N n
-- ------
opr PC PCH PCL REL rel rr SP X Z # () -( ) ? : --
INH
8F
Accumulator Carry/borrow flag Condition code register Direct address of operand Direct address of operand and relative offset of branch instruction Direct addressing mode High and low bytes of offset in indexed, 16-bit offset addressing Extended addressing mode Offset byte in indexed, 8-bit offset addressing Half-carry flag High and low bytes of operand address in extended addressing Interrupt mask Immediate operand byte Immediate addressing mode Inherent addressing mode Indexed, no offset addressing mode Indexed, 8-bit offset addressing mode Indexed, 16-bit offset addressing mode Memory location Negative flag Any bit
Operand (one or two bytes) Program counter Program counter high byte Program counter low byte Relative addressing mode Relative program counter offset byte Relative program counter offset byte Stack pointer Index register Zero flag Immediate value Logical AND Logical OR Logical EXCLUSIVE OR Contents of Negation (two's complement) Loaded with If Concatenated with Set or cleared Not affected
12.6 Opcode Map
The opcode map is provided in Table 12-7.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Instruction Set For More Information On This Product, Go to: www.freescale.com
Advance Information 121
Cycles
2 4 3 3 5 4 2 2
Effect on CCR
Operand
Address Mode
Opcode
Freescale Semiconductor, Inc...
Instruction Set
122
Table 12-7. Opcode Map
Read-Modify-Write DIR 3
3 5 3 3 6 5 9 2 3 4 5 4
Bit Manipulation Branch REL 2
BRA
REL 2 3 DIR 1 INH 1 INH 2 IX1 1 IX 1 INH 6 2 IMM 2 2 DIR 3 3 EXT 3 4 IX2 2 5
Control IX 7
NEG RTS
1 INH 2
Register/Memory IMM A
SUB CMP
IMM 2 2 DIR 3 3 EXT 3 4
DIR 4
NEGA CMP SBC
DIR 3 3 EXT 3 4
DIR 5
NEGX CMP SBC CPX
EXT 3 4
INH 6
NEG CMP
IX2 2 5
INH 8
RTI SUB SUB SUB SUB
IX1 1 4
IX1 9 B C D E
INH
INH
DIR
EXT
IX2
IX1
IX F
3
Advance Information
MSB LSB SUB
IX 3
MSB LSB NEG
0
1
5
5
0
BRN
REL 3 11
BRSET0
BSET0
3
DIR 2 5
DIR 2 5
0
CMP
IX1 1 4
1
BHI
REL 3 5 3 6 5 10 1 INH 3 2 IMM 2 2
BRCLR0 MUL COM
DIR 1 5 INH 1 3 INH 2 3 IX1 1 6 IX 1 5 INH 2 IMM 2 2 DIR 3 3
BCLR0 SBC COMX LSRX
INH 2 IX1 1 IX 2 IMM 2 2
CMP
IX 3
3
DIR 2 5
DIR 2 5
1
SBC
IX2 2 5 IX1 1 4
2
BLS
REL 2 3
BRSET1 COMA LSRA
INH 1
BSET1 COM LSR BIT
2 5 3 3 6 5 IMM 2 2
SBC CPX
IX2 2 5
SBC
IX 3
3
DIR 2 5
DIR 2 5
2
CPX
IX1 1 4
3
COM LSR BIT
DIR 3 3
BRCLR1 BCC
REL 2 3 REL 3 DIR 1
BCLR1 LSR AND AND
DIR 3 3
SWI AND
CPX
CPX
CPX
IX 3
3
DIR 2 5
DIR 2 5
3
AND
EXT 3 4 IX2 2 5
4
BCS/BLO BNE
REL 2 3 2 DIR 1 5 INH 1 3 INH 2 3 IX1 1 6 IX 5 2
BRSET2
BSET2
AND
IX1 1 4
AND
IX 3
3
DIR 2 5
DIR 2 5
4
BIT
EXT 3 4
5
ROR ASR
DIR 1 5 INH 1 3 INH 2 3 IX1 1 6 IX 5 1 INH 2
BRCLR2 RORA ASRA ASL/LSL
IX 5 1
BCLR2 RORX ASRX CLC
INH 2 2
BIT
IX2 2 5
BIT
IX1 1 4
BIT
IX 3
3
DIR 2 5
DIR 2 5
5
LDA
DIR 3 4 EXT 3 5
6
ROR ASR ASR TAX ROR LDA BEQ
REL 2 3
BRSET3
BSET3
LDA STA
2 2 DIR 3 3
LDA
IX2 2 6
LDA
IX1 1 5
LDA
IX 4
3
DIR 2 5
DIR 2 5
IMM 2
6
STA
EXT 3 4
7
BHCC
REL 2 3 DIR 1 5 INH 1 3 INH 2 3 IX1 1 6
BRCLR3 ASL/LSL ASLA/LSLA ASLX/LSLX ASL/LSL ROL
DIR 1 5 INH 1 3 INH 2 3 IX1 1 6 IX 5 1
BCLR3
STA
IX2 2 5
STA
IX1 1 4
STA
IX 3
3
DIR 2 5
DIR 2 5
7
EOR
IMM 2 2
8
BHCS
REL 2 3
BRSET4 ROLA DECA
INH 1 INH 2 IX1 1 IX
BSET4 ROLX DECX DEC DEC
1
EOR
DIR 3 3
EOR
EXT 3 4
EOR
IX2 2 5
EOR
IX1 1 4
EOR
IX 3
3
DIR 2 5
DIR 2 5
8
ADC
INH 2 2 IMM 2 2
9
ROL ROL BPL
REL 2 3 DIR 1
BRCLR4 DEC
BCLR4
SEC CLI
INH 2 2
ADC
DIR 3 3
ADC
EXT 3 4
ADC
IX2 2 5
ADC
IX1 1 4
ADC
IX 3
3
DIR 2 5
DIR 2 5
9
ORA
IMM 2 2
A
BMI
REL 3 5 3 3 6
BRSET5
BSET5
ORA
DIR 3 3
ORA
EXT 3 4
ORA
IX2 2 5
ORA
IX1 1 4
ORA
IX 3
3
DIR 2 5
DIR 2 5
A
SEI
1
B
5
BRCLR5 BMC
REL 2 3 DIR 1 4 INH 1 3 INH 2 3 IX1 1 5
BCLR5 INC TST
DIR 1 INH 1 INH 2
ADD
INH 2 2 IMM 2
ADD
DIR 3 2
ADD
EXT 3 3
ADD
IX2 2 4
ADD
IX1 1 3
ADD
IX 2
3
DIR 2 5
DIR 2 5
B
RSP JMP JMP JMP JMP JMP
1 INH 2 2 6 DIR 3 5 EXT 3 6 IX2 2 7 IX1 1 6 IX 5
Freescale Semiconductor, Inc.
Instruction Set For More Information On This Product, Go to: www.freescale.com
INCA TSTA TSTX TST
IX1 1
C
INCX INC BMS
REL 2 3
BRSET6
BSET6
INC
IX 4
3
DIR 2 5
DIR 2 5
C
NOP
IX 2 1 INH 2
D
BIL
REL 3 5 3 3
BRCLR6
BCLR6
TST STOP
1 6 5 INH 2
BSR
REL 2 2
JSR
DIR 3 3
JSR
EXT 3 4
JSR
IX2 2 5
JSR
IX1 1 4
JSR
IX 3
3
DIR 2 5
DIR 2 5
D
LDX
2 2 IMM 2
E
BIH
REL 2 DIR 1 INH 1
BRSET7 CLR CLRA CLRX
INH 2
BSET7
LDX
DIR 3 4
LDX
EXT 3 5
LDX
IX2 2 6
LDX
IX1 1 5
LDX
IX 4
3
DIR 2 5
DIR 2 5
E
CLR
IX1 1
F
BRCLR7
BCLR7
CLR
IX 1
WAIT
INH 1
TXA
INH 2
STX
DIR 3
STX
EXT 3
STX
IX2 2
STX
IX1 1
STX
IX
3
DIR 2
DIR 2
F
MSB LSB LSB of Opcode in Hexadecimal 0
3
0
MSB of Opcode in Hexadecimal
5 Number of Cycles
BRSET0 Opcode Mnemonic
DIR Number of Bytes/Addressing Mode
MC68HC(8)05P18 -- Rev. 2.0
REL = Relative IX = Indexed, No Offset IX1 = Indexed, 8-Bit Offset IX2 = Indexed, 16-Bit Offset
INH = Inherent IMM = Immediate DIR = Direct EXT = Extended
MOTOROLA
Freescale Semiconductor, Inc.
Advance Information -- MC68HC05P18/MC68HC805P18
Section 13. Electrical Specifications
13.1 Contents
13.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123 Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124 Operating Temperature Range. . . . . . . . . . . . . . . . . . . . . . . .124 Thermal Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . .125 Power Considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .125 DC Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . .126 Active Reset Characteristics. . . . . . . . . . . . . . . . . . . . . . . . . .127 A/D Converter Characteristics . . . . . . . . . . . . . . . . . . . . . . . .127
Freescale Semiconductor, Inc...
13.3 13.4 13.5 13.6 13.7 13.8 13.9
13.10 SIOP Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128 13.11 PD5 Clock Out Timing (PD5 CLKOUT Option Enabled) . . . .129 13.12 Control Timing (MC68HC805P18 and Low-Speed MC68HC05P18) . . . . . . . . . . . . . . . . . . .130 13.13 Control Timing (High-Speed MC68HC05P18 Only) . . . . . . . .130
13.2 Introduction
This section contains electrical and timing specifications.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Electrical Specifications For More Information On This Product, Go to: www.freescale.com
Advance Information 123
Freescale Semiconductor, Inc. Electrical Specifications 13.3 Maximum Ratings
Maximum ratings are the extreme limits to which the MCU can be exposed without permanently damaging it. The MCU contains circuitry to protect the inputs against damage from high static voltages; however, do not apply voltages higher than those shown in the table here. Keep VIn and VOut within the range VSS (VIn or VOut) VDD. Connect unused inputs to the appropriate voltage level, either VSS or VDD.
Freescale Semiconductor, Inc...
Rating Supply voltage Input voltage
Symbol VDD VIn VIn I TSTG
Value -0.3 to + 7.0 VSS -0.3 to VDD + 0.3 VSS -0.3 to 2 x VDD 25 -65 to +150
Unit V V
Factory mode (IRQ pin only) Current drain per pin excluding VDD and VSS Storage temperature range Note: Voltages referenced to VSS
V mA C
NOTE:
This device is not guaranteed to operate properly at the maximum ratings. Refer to 13.7 DC Electrical Characteristics for guaranteed operating conditions.
13.4 Operating Temperature Range
Rating Operating temperature range MC68HC805P18 (standard) MC68HC805P18 (extended) MC68HC805P18 (automotive) Symbol Value TL to TH 0 to +70 -40 to +85 -40 to +125 Unit
TA
C
Advance Information 124 Electrical Specifications For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Electrical Specifications Thermal Characteristics
13.5 Thermal Characteristics
Characteristic Thermal resistance Plastic SOIC Symbol JA Value 60 60 Unit C/W
13.6 Power Considerations
Freescale Semiconductor, Inc...
The average chip-junction temperature, TJ, in C, can be obtained from: TJ = TA + (PD x JA) where: TA = Ambient temperature, C JA = Package thermal resistance, junction to ambient, C/W PD = PINT + PI/O PINT = IDD x VDD watts (chip internal power) PI/O = Power dissipation on input and output pins (user-determined) For most applications, PI/O PINT and can be neglected. The following is an approximate relationship between PD and TJ (neglecting PI/O): PD = K / (TJ + 273C) Solving equations (1) and (2) for K gives: K = PD x (TA + 273C) + JA x (PD)2 (3) (2) (1)
where K is a constant pertaining to the particular part. K can be determined from equation (3) by measuring PD (at equilibrium) for a known TA. Using this value of K, the values of PD and TJ can be obtained by solving equations (1) and (2) iteratively for any value of TA.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Electrical Specifications For More Information On This Product, Go to: www.freescale.com
Advance Information 125
Freescale Semiconductor, Inc. Electrical Specifications 13.7 DC Electrical Characteristics
Characteristic(1) Output voltage ILoad = 10.0 A Output high voltage ILoad = -0.8 mA: PA0-PA7, PB5-PB7, PC2-PC7, PD5/CKOUT ILoad = -5 mA: PC0, PC1 Output low voltage ILoad = 1.6 mA: PA0-PA7, PB5-PB7, PC2-PC7, PD5/CKOUT ILoad = 10 mA: PC0, PC1 Input high voltage PA0-PA7, PB5-PB7, PC0-PC7, PD5/CKOUT, TCAP/PD7, IRQ, RESET, OSC1 Input low voltage PA0-PA7, PB5-PB7, PC0-PC7, PD5, TCAP/PD7, IRQ, RESET, OSC1 Supply current(2) (3) (4) (5) (6) (7) Low frequency (2-MHz bus) Run Wait (A2D on) Wait (A2D off) High frequency (4-MHz bus) MC68HC05P18 only Run Wait (A2D on) Wait (A2D off) Stop (-40C to +132C) Stop LVR disabled Stop LVR enabled I/O ports hi-z leakage current PA0-PA7, PB5-PB7, PC0-PC7, PD5/CKOUT, TCAP/PD7 I/O ports switch resistance (pullup enabled PA0-PA7) A/D ports hi-z leakage current PC3-PC7 Input current RESET, IRQ, OSC1 Capacitance Ports (as input or output) RESET, IRQ EEPROM program/erase time (128 byte array) Byte Block (erase only) Bulk (erase only) Low-voltage reset voltage Symbol VOL VOH VOH Min -- VDD -0.1 VDD -0.8 Max 0.1 -- -- Unit V V
VOL VIH VIL
--
0.4
V
Freescale Semiconductor, Inc...
0.7 x VDD VSS
VDD 0.2 x VDD
V V
-- -- -- IDD -- -- -- -- -- IIL RPTA IIL IIN COut CIn -- -- -- 7 -- -- -- -- -- -- -- 3.5
4 3.5 2.5 6 4.5 3.5 50 200 10 30 1 1 12 8 5 15 50 4.3
mA mA mA mA mA mA A A A k A A pF
ms V
1. VDD = 5.0 Vdc 10%, VSS = 0 Vdc, TA = -40C to +125C, all values shown reflect average measurements. 2. Run (operating) IDD, wait IDD: Measured using external square wave clock source (fosc = 4.2 MHz), all inputs 0.2 V from rail; no dc loads, less than 50 pF on all outputs, CL = 20 pF on OSC2 3. Wait IDD with active systems: timer, SIOP, and A/D. Wait IDD is affected linearly by the OSC2 capacitance. 4. Wait, stop IDD: All ports configured as inputs, VIL = 0.2 V, VIH = VDD -0.2 V 5. Stop IDD measured with OSC1 = VSS. Stop IDD maximum values given with LVR option enabled. 6. Run and wait IDD limit values are with no load on PD5 clock out, when PD5 is enabled. 7. Run and wait IDD values are for both PD5 enabled and disabled and LVR enabled and disabled.
Advance Information 126 Electrical Specifications For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Electrical Specifications Active Reset Characteristics
13.8 Active Reset Characteristics
Rise Time(1) 0.5 s 1.0 s 2.5 s Fall Time 13 ns 20 ns 20 ns Pulse Width 2.4 s 2.7 s 2.7 s CLoad 50 pF 100 pF 250 pF Pullup 10 K 10 K 10 K
1. VDD = 4.5 Vdc, VSS = 0 Vdc, TA = 125C
Freescale Semiconductor, Inc...
13.9 A/D Converter Characteristics
Characteristic(1) Resolution Absolute accuracy (VDD VREFH > 4.5) Conversion range, VREFH Input leakage AD0, AD1, AD2, AD3 VREFH Conversion time (includes sampling time) Monotonicity Zero input reading Full-scale reading Sample time Input capacitance Analog input voltage 00 00 FE 12 -- VSS 01 03 FF 12 12 VREFH Min 8 -- VSS VSS Max 8 1 1/2 VREFH VDD Unit Bits LSB Including quantization A/D accuracy may decrease proportionately as VREFH is reduced below 4.5 Comments
V
-- -- 32
1 1 32
A
tAD(2) Inherent (within total error) Hex Hex tAD* pF V VIn = 0 V (external) VIn = 0 V (internal) VIn = VREFH
1. VDD = 4.5 Vdc 10%, VSS = 0 Vdc, TA = -40C to +125C, unless otherwise noted
2. tAD = tCYC if clock source equals MCU
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Electrical Specifications For More Information On This Product, Go to: www.freescale.com
Advance Information 127
Freescale Semiconductor, Inc. Electrical Specifications 13.10 SIOP Timing
Number Characteristic(1) Operating frequency(2) Master Slave 1 2 Cycle time Master Slave SCK low time(3) SDO data valid time SDO hold time SDI setup time SDI hold time Symbol fSIOP(M) fSIOP(S) tSCK(M) tSCK(S) tCYC tv tHO tS tH Min 1 dc 1 -- 238 -- 0 100 100 Max 1 1 1 1 -- 200 -- -- -- Unit fOP
tCYC ns ns ns ns ns
Freescale Semiconductor, Inc...
3 4 5 6
1. VDD = 4.5 Vdc 10%, VSS = 0 Vdc, TA = -40C to +125C, unless otherwise noted 2. fOP = fOSC / 2; tCYC = 1 / fOP 3. In master mode, the SCK rate is determined by the programmable option in MOR1.
t1 SCK
t2
t5
t6
SDI t3
SDI t4
SDI
SDI
SDI
SDI
SDI
BIT 7
Figure 13-1. SIOP Timing Diagram
Advance Information 128 Electrical Specifications For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Electrical Specifications PD5 Clock Out Timing (PD5 CLKOUT Option Enabled)
13.11 PD5 Clock Out Timing (PD5 CLKOUT Option Enabled)
Characteristic Cycle time Rise time Fall time Pulse width Symbol(1) 1(1) 4(1) 5(1) 2 and 3(1) Min tCYC 3.5 7.5 tOH, tOL Max -- 12 27.5 -- Unit ns ns ns ns
Freescale Semiconductor, Inc...
1. The numbers shown in the symbol column correspond to those shown in Figure 13-2.
(1) (2) (3)
PD5 CLOCK OUT
(4)
(5)
Figure 13-2. PD5 Clock Out Timing
NOTE:
All timing is shown with respect to 20% and 70% VDD. Maximum rise and fall times assume 44% duty cycle. Minimum rise and fall times assume 55% duty cycle.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Electrical Specifications For More Information On This Product, Go to: www.freescale.com
Advance Information 129
Freescale Semiconductor, Inc. Electrical Specifications 13.12 Control Timing (MC68HC805P18 and Low-Speed MC68HC05P18)
Characteristic(1) Frequency of operation Crystal option External clock option Internal operating frequency Crystal (fOSC / 2) External clock (fOSC / 2) Cycle time Crystal oscillator startup time Symbol fOSC Min -- dc -- dc 476 -- -- 1.5 125
(2)
Max 4.2 4.2 2.1 2.1 -- 100 100 -- -- -- -- 100 5.0
Unit MHz
fOP tCYC tOXOV tILCH tRL tILIH tILIL tOH, tOL tADON tRCON
MHz ns ms ms tCYC ns tCYC ns s s
Freescale Semiconductor, Inc...
Stop recovery startup time (crystal oscillator) RESET pulse width Interrupt pulse width low (edge-triggered) Interrupt pulse period OSC1 pulse width A/D on current stabilization time RC oscillator stabilization time (A/D)
200 -- --
1. VDD = 5.0 Vdc 10%, VSS = 0 Vdc, TA = -40C to +125C, unless otherwise noted 2. The minimum period tILIL should not be less than the number of cycles it takes to execute the interrupt service routine plus 21 tCYC.
13.13 Control Timing (High-Speed MC68HC05P18 Only)
Characteristic(1) Frequency of operation Crystal option External clock option Internal operating frequency Crystal (fOSC / 2) External clock (fOSC / 2) Cycle time Crystal oscillator startup time Stop recovery startup time (crystal oscillator) RESET pulse width Interrupt pulse width low (edge-triggered) Interrupt pulse period OSC1 pulse width A/D on current stabilization time RC oscillator stabilization time (A/D) Symbol fOSC Min -- dc -- dc 238 -- -- 1.5 125
(2)
Max 4.2 8.4 2.1 4.2 -- 100 100 -- -- -- -- 100 5.0
Unit MHz
fOP tCYC tOXOV tILCH tRL tILIH tILIL tOH, tOL tADON tRCON
MHz ns ms ms tCYC ns tCYC ns s s
100 -- --
1. VDD = 5.0 Vdc 10%, VSS = 0 Vdc, TA = -40C to +125C, unless otherwise noted 2. The minimum period tILIL should not be less than the number of cycles it takes to execute the interrupt service routine plus 21 tCYC.
Advance Information 130 Electrical Specifications For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc...
MOTOROLA
4064 tCYC tCYC 3FFE NEW PC NEW PC 3FFF 3FFE 3FFE 3FFE 3FFE 3FFF NEW PC NEW PC NEW PCH tRL NOTE 3 NEW PCL OP CODE PCH PCL OP CODE
tVDDR
VDD
VDD THRESHOLD (1-2 V TYPICAL)
MC68HC(8)05P18 -- Rev. 2.0
OSC12
INTERNAL PROCESSOR CLOCK1
INTERNAL ADDRESS BUS1
INTERNAL DATA BUS1
Freescale Semiconductor, Inc.
Electrical Specifications For More Information On This Product, Go to: www.freescale.com
RESET
Notes: 1. Internal timing signal and bus information not available externally. 2. OSC1 line is not meant to represent frequency. It is only used to represent time. 3. The next rising edge of the PH2 clock following the rising edge of RESET initiates the reset sequence.
Figure 13-3. Power-On Reset and External Reset Timing Diagram
Electrical Specifications Control Timing (High-Speed MC68HC05P18 Only)
Advance Information
131
Freescale Semiconductor, Inc. Electrical Specifications
Freescale Semiconductor, Inc...
Advance Information 132 Electrical Specifications For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Advance Information -- MC68HC05P18/MC68HC805P18
Section 14. Mechanical Specifications
14.1 Contents
14.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133 28-Pin Dual In-Line Package (Case #710) . . . . . . . . . . . . . . .134 28-Pin Small Outline Package (Case #751F) . . . . . . . . . . . . .134
Freescale Semiconductor, Inc...
14.3 14.4
14.2 Introduction
This section provides package dimension drawings for the 28-pin dual in-line (DIP) or 28-pin small outline (SOIC) packages. To make sure that you have the latest case outline specifications, contact one of the following: * * Local Motorola Sales Office Motorola Mfax - Phone 602-244-6609 - EMAIL rmfax0@email.sps.mot.com * Worldwide Web (wwweb) at http://design-net.com
Follow Mfax or wwweb on-line instructions to retrieve the current mechanical specifications.
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Mechanical Specifications For More Information On This Product, Go to: www.freescale.com
Advance Information 133
Freescale Semiconductor, Inc. Mechanical Specifications 14.3 28-Pin Dual In-Line Package (Case #710)
28
15
B
1 14
NOTES: 1. POSITIONAL TOLERANCE OF LEADS (D), SHALL BE WITHIN 0.25mm (0.010) AT MAXIMUM MATERIAL CONDITION, IN RELATION TO SEATING PLANE AND EACH OTHER. 2. DIMENSION L TO CENTER OF LEADS WHEN FORMED PARALLEL. 3. DIMENSION B DOES NOT INCLUDE MOLD FLASH. DIM A B C D F G H J K L M N MILLIMETERS MIN MAX 36.45 37.21 13.72 14.22 3.94 5.08 0.36 0.56 1.02 1.52 2.54 BSC 1.65 2.16 0.20 0.38 2.92 3.43 15.24 BSC 0 15 0.51 1.02 INCHES MIN MAX 1.435 1.465 0.540 0.560 0.155 0.200 0.014 0.022 0.040 0.060 0.100 BSC 0.065 0.085 0.008 0.015 0.115 0.135 0.600 BSC 0 15 0.020 0.040
A
Freescale Semiconductor, Inc...
C N
L
H
G F D
K
SEATING PLANE
M
J
14.4 28-Pin Small Outline Package (Case #751F)
-A28 15 14X
-B1 14
P 0.010 (0.25)
M
B
M
28X D
0.010 (0.25)
M
T
A
S
B
S
M R X 45
NOTES: 1. DIMENSIONING AND TOLERANCING PER ANSI Y14.5M, 1982. 2. CONTROLLING DIMENSION: MILLIMETER. 3. DIMENSION A AND B DO NOT INCLUDE MOLD PROTRUSION. 4. MAXIMUM MOLD PROTRUSION 0.15 (0.006) PER SIDE. 5. DIMENSION D DOES NOT INCLUDE DAMBAR PROTRUSION. ALLOWABLE DAMBAR PROTRUSION SHALL BE 0.13 (0.005) TOTAL IN EXCESS OF D DIMENSION AT MAXIMUM MATERIAL CONDITION. DIM A B C D F G J K M P R MILLIMETERS MIN MAX 17.80 18.05 7.60 7.40 2.65 2.35 0.49 0.35 0.90 0.41 1.27 BSC 0.32 0.23 0.29 0.13 8 0 10.05 10.55 0.75 0.25 INCHES MIN MAX 0.701 0.711 0.292 0.299 0.093 0.104 0.014 0.019 0.016 0.035 0.050 BSC 0.009 0.013 0.005 0.011 8 0 0.395 0.415 0.010 0.029
-T26X
C G K -TSEATING PLANE
F J
Advance Information 134 Mechanical Specifications For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Advance Information -- MC68HC05P18/MC68HC805P18
Section 15. Ordering Information
15.1 Contents
15.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135 MC Order Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135
Freescale Semiconductor, Inc...
15.3
15.2 Introduction
This section contains instructions for ordering the MC68HC05P18 and the MC68HC805P18.
15.3 MC Order Numbers
Table 15-1 shows the MC order numbers for the available package types. Table 15-1. MC Order Numbers
MC Order Number(1)
MC68HC805P18P (standard) MC68HC805P18DW (standard) MC68HC805P18CP (extended) MC68HC805P18CDW (extended) MC68HC805P18MP (automotive) MC68HC805P18MDW (automotive) 1. P = Plastic dual in-line package DW = Small outline (wide body) package
Operating Temperature Range
0C to 70C 0C to 70C -40C to +85C -40C to +85C -40C to +125C -40C to +125C
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Ordering Information For More Information On This Product, Go to: www.freescale.com
Advance Information 135
Freescale Semiconductor, Inc. Ordering Information
Freescale Semiconductor, Inc...
Advance Information 136 Ordering Information For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Advance Information -- MC68HC05P18/MC68HC805P18
Appendix A. Emulation
A.1 Contents
A.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137 Functional Differences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137 Mask Option Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141
Freescale Semiconductor, Inc...
A.3 A.4
A.2 Introduction
This appendix discusses the functional differences between the P-series devices. The MC68HC805P18 can be used to emulate these devices: MC68HC05P1A MC68HC05P2 MC68HC05P3 MC68HC05P4 MC68HC05P4A MC68HC05P6 MC68HC705P6 MC68HC05P7 MC68HC05P7A MC68HC05P8 MC68HC05P9 MC68HC705P9 MC68HC05P10 MC68HC05P18
A.3 Functional Differences
The functional differences will be summarized in: Table A-1. Elements of Memory Table A-2. Memory Breakdown by Types Table A-3. P-Series Features Table A-4. Mask Options
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Emulation For More Information On This Product, Go to: www.freescale.com
Advance Information 137
Freescale Semiconductor, Inc. Emulation
Table A-1. Elements of Memory
Device P1A RAM 128 b 0080-00FF 96 b 00A0-00FF 128 b 0080-00FF 128 b 0080-00FF 176 b 0050-00FF 176 b 0050-00FF 176 b 0050-00FF 128 b 0080-00FF 112 b 0090-00FF 128 b 0080-00FF 128 b 0080-00FF 128 b 0080-00FF 192 b 0050-010F 192 b 0050-010F User ROM R 2320 b 0020-004F 0100-08FF* R 3088 b 0020-004F 1300-1EFF R 3072 b 0020-004F 0300-0EFF N R 4160 b 0020-004F 0100-10FF R 4672 b 0020-004F 0100-10FF* N R 2112 b 0020-004F 0100-08FF* R 2064 b 1680-1E7F R 2112 b 0020-004F 0100-08FF N R 4160 b 0020-004F 0100-10FF R 8064 b 0020-004F 1FC0-3EFF N EPROM N EEPROM N User EEPROM N ROM Security N
P2
N
N 128 b 0100-017F 128 b 0100-017F N
N
N
P3
N 3072 b 0020-004F 0300-0EFF N
N
N
Freescale Semiconductor, Inc...
705P3
N
N
P4/P4A
N
N/Y
P6
N 4672 b 0020-004F 0100-12FF* N N N 2112 b 0020-004F 0100-08FF* N
N
N
N
705P6
N
N
N
P7/P7A P8 P9/P9A
N 32 b 0030-004F N
N N N
N/Y N N/Y
705P9
N
N
N
P10
N 128 b 0140-01BF 128 b 0140-01BF
N
N
P18
N
N 8064 b 0020-004F 1FC0-3EFF
N
805P18
N
Y
Advance Information 138 Emulation For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Emulation Functional Differences
Table A-2. Memory Breakdown by Types
Range 0020-004F 0030-004F 0050-007F 0080-008F 0090-009F RAM RAM RAM ROM ROM ROM ROM ROM ROM ROM ROME ROME ROM RAM RAM RAM RAM EE EE EE RAM RAM RAM RAM ROM ROM ROM ROM ROM ROM ROM RON ROM ROM RAM RAM RAM RAM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM UEE UEE UEE ROM RAM RAM RAM RAM E E E E E E E E E E E RAM RAM RAM ROM ROM ROM ROM ROM ROM ROM RAM RAM RAM RAM RAM ROME ROME ROME ROME ROME ROME ROME RAM RAM RAM ROM ROM ROM ROM ROM ROM ROM ROM ROM ROM EE EE EE EE ROM P1A ROM P2 ROM P3/ 705P3 ROM/E P4/ P4A ROM P6 ROM 705 P6 ROM P7/ P7A ROM EE RAM RAM RAM RAM RAM RAM RAM RAM RAM RAM P8 P9/ 705P9 ROM/E P10 ROM P18 ROM 805 P18 UEE
Freescale Semiconductor, Inc...
00A0-00FF 0100-010F 0110-013F 0140-017F 0180-01BF 01C0-02D1 02D2-02FF 0300-08FF 0900-0EFF 0F00-0FEF 0FF0-10FF 1100-12FF 1300-167F 1680-1EFF 1F00 1F01-1FBF 1FC0-1FEF 1FF0-3EFF 3F00-3F01 3F02-3FEF
NOTE: I/O registers are common to all parts so they are not included in the table. There are an additional 16 bytes of user vectors in the memory map for each device. E = EPROM EE = EEPROM PEE = User EEPROM
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Emulation For More Information On This Product, Go to: www.freescale.com
Advance Information 139
Freescale Semiconductor, Inc. Emulation
Table A-3. P-Series Features
Devices P1A P2 P3/705P3 P4/P4A P6/705P6 Mask Option Y Y Y/N Y Y/N Y Y Y/N/Y Y Y/N MOR N N N/Y N N/Y N N N/Y/N N N/Y A/D N N N N Y N Y Y N Y LVR N N N N N N N N N Y High Current Y N N N/Y N N/Y N N/N/Y N Y
Freescale Semiconductor, Inc...
P7/P7A P8 P9/705P9/P9A P10 P18/805P18
Table A-4. Mask Options
Devices P1A P2 P3 P4/P4A P6 P7/P7A P8 P9/P9A P10 P18 XTAL/RC Y Y N Y Y Y N N Y N SIOP Clock Rate N N N N Y N N N N Y(1) SIOP MSB/LSB N N N Y Y Y N Y Y Y Port A PU/INT Y N N N/Y N N/Y N N/Y Y Y STOP to HALT Y N N N/Y Y N/Y N N/Y N Y
1. The MC68HC05P18 and MC68HC805P18 have selectable clock rates that are four times as fast as the MC68HC05P6 selectable rates.
Advance Information 140 Emulation For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Emulation Mask Option Registers
A.4 Mask Option Registers
Address: $0F Bit 7 Read: Write: Reset: Unaffected by reset = Unimplemented 0 6 1 5 0 4 0 3 1 2 0 1 OPTCOP Bit 0 OPTIRQ
Freescale Semiconductor, Inc...
Figure A-1. MC68HC705P3 Mask Option Register
Address:
$900 Bit 7 6 RC 5 SWAIT 4 SPR1 3 SPR0 2 LSBF 1 IRQ Bit 0 COP
Read: Write: Reset:
--
Unaffected by reset = Unimplemented
Figure A-2. MC68HC705P6 Mask Option Register
Address:
$900 Bit 7 6 -- 5 -- 4 -- 3 -- 2 SIOP 1 IRQ Bit 0 COP
Read: Write: Reset:
--
Unaffected by reset = Unimplemented
Figure A-3. MC68HC705P9 Mask Option Register
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA Emulation For More Information On This Product, Go to: www.freescale.com
Advance Information 141
Freescale Semiconductor, Inc. Emulation
Address:
$3F00 Bit 7 6
LVRE
5
SWAIT
4
SPR1
3
SPR0
2
LSBF
1
LEVIRQ
Bit 0
COPEN
Read: CLKOUT Write: Reset:
Unaffected by reset
= Unimplemented
Figure A-4. MC68HC805P8 Mask Option Register 1
Freescale Semiconductor, Inc...
Address:
$3F01 Bit 7 6 PA6PU 5 PA5PU 4 PA4PU 3 PA3PU 2 PA2PU 1 PA1PU Bit 0 PA0PU
Read: Write: Reset:
PA7PU
Unaffected by reset = Unimplemented
Figure A-5. MC68HC805P8 Mask Option Register 2
Advance Information 142 Emulation For More Information On This Product, Go to: www.freescale.com
MC68HC(8)05P18 -- Rev. 2.0 MOTOROLA
Freescale Semiconductor, Inc.
Freescale Semiconductor, Inc...
For More Information On This Product, Go to: www.freescale.com
Home Page: www.freescale.com email: support@freescale.com USA/Europe or Locations Not Listed: Freescale Semiconductor Technical Information Center, CH370 1300 N. Alma School Road Chandler, Arizona 85224 (800) 521-6274 480-768-2130 support@freescale.com Europe, Middle East, and Africa: Freescale Halbleiter Deutschland GmbH Technical Information Center Schatzbogen 7 81829 Muenchen, Germany +44 1296 380 456 (English) +46 8 52200080 (English) +49 89 92103 559 (German) +33 1 69 35 48 48 (French) support@freescale.com Japan: Freescale Semiconductor Japan Ltd. Headquarters ARCO Tower 15F 1-8-1, Shimo-Meguro, Meguro-ku Tokyo 153-0064, Japan 0120 191014 +81 2666 8080 support.japan@freescale.com Asia/Pacific: Freescale Semiconductor Hong Kong Ltd. Technical Information Center 2 Dai King Street Tai Po Industrial Estate, Tai Po, N.T., Hong Kong +800 2666 8080 support.asia@freescale.com For Literature Requests Only: Freescale Semiconductor Literature Distribution Center P.O. Box 5405 Denver, Colorado 80217 (800) 441-2447 303-675-2140 Fax: 303-675-2150 LDCForFreescaleSemiconductor @hibbertgroup.com
RoHS-compliant and/or Pb- free versions of Freescale products have the functionality and electrical characteristics of their non-RoHS-compliant and/or non-Pb- free counterparts. For further information, see http://www.freescale.com or contact your Freescale sales representative. For information on Freescale.s Environmental Products program, go to http://www.freescale.com/epp.
Information in this document is provided solely to enable system and software implementers to use Freescale Semiconductor products. There are no express or implied copyright licenses granted hereunder to design or fabricate any integrated circuits or integrated circuits based on the information in this document. Freescale Semiconductor reserves the right to make changes without further notice to any products herein. Freescale Semiconductor makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Freescale Semiconductor assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. "Typical" parameters which may be provided in Freescale Semiconductor data sheets and/or specifications can and do vary in different applications and actual performance may vary over time. All operating parameters, including "Typicals" must be validated for each customer application by customer's technical experts. Freescale Semiconductor does not convey any license under its patent rights nor the rights of others. Freescale Semiconductor products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the Freescale Semiconductor product could create a situation where personal injury or death may occur. Should Buyer purchase or use Freescale Semiconductor products for any such unintended or unauthorized application, Buyer shall indemnify and hold Freescale Semiconductor and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that Freescale Semiconductor was negligent regarding the design or manufacture of the part.


▲Up To Search▲   

 
Price & Availability of MC68HC805P18

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X